Показать сообщение отдельно

  #5453  
Старый 13.01.2010, 17:51
transserg
Участник форума
Регистрация: 02.07.2008
Сообщений: 132
С нами: 9399214

Репутация: 52
По умолчанию

привет всем встал в ступор с этой задачей в реестре хранится число=) но не могу его преобразовать в читабельный вид то есть время верное а вот дата бредовая
Код:
Function GetWindowsSetupDate:string;
  const
    regpath   = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion';
    ValueName = 'InstallDate';
  var
    hSubKey   : HKEY;
    BufSize   : DWORD;
    Buf       : DWORD;
    MyValType : DWORD;
    tm        : TDateTime;
    time      : _FILETIME;
    fTime     : SYSTEMTIME;
  begin
//  01.01.1970
//  31536000
//  2629743
//  1258983428
    if RegOpenKey(HKEY_LOCAL_MACHINE, regpath,hSubKey) = ERROR_SUCCESS then
      if RegQueryValueEx(hSubKey, ValueName, nil, @MyValType, nil, @BufSize) =ERROR_SUCCESS then
        begin
          if  RegQueryValueEx(hSubKey, ValueName, nil, @MyValType, @Buf,@BufSize) =ERROR_SUCCESS then
            begin
              time.dwHighDateTime:=Buf;
              FileTimeToLocalFileTime(time,time);
              FileTimeToSystemTime(time,ftime);
              result:=Format('%d.%d.%d %d:%d:%d',[fTime.wDay,fTime.wMonth,fTime.wYear,fTime.wHour,fTime.wMinute,fTime.wSecond]);
            end;
        end;
  end;
вот что я получаю
'12.1.18736 17:35:46'
 
Ответить с цитированием