我可以使用C ++获取Windows的原始安装日期吗?

问题描述 投票:3回答:3

如何使用C ++获取Windows的原始安装日期?我已经检查了msdn但我找不到任何相关内容。

HKEY hKey;
DWORD buffer;
DWORD  result;
unsigned long type=REG_DWORD;

    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"Software\\Microsoft\\Windows NT\\CurrentVersion",0,KEY_READ,&hKey);
    if(result == ERROR_SUCCESS)
    {
           DWORD BufferSize = sizeof(DWORD);
    DWORD dwRet;
    DWORD cbData = 10;
    DWORD lpType;
    wchar_t cbVal[10];
    cout<<"Value before calling RegQueryValueEx is " << cbVal << endl;


   dwRet=    RegQueryValueEx(hKey,L"InstallDate",NULL, &lpType,
      reinterpret_cast<LPBYTE>(cbVal),&cbData);

           if( dwRet == ERROR_SUCCESS )
      cout<<"Value is " << cbVal << endl;
    else cout<<"RegQueryValueEx failed " << dwRet << endl;

    }
windows winapi
3个回答
6
投票

您可以阅读HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate注册表项并获取该值。读取是通过使用WinAPI的registry functions之一,如RegOpenKeyExRegQueryValueEx完成的。该值代表:

自1970年1月1日00:00:00起的秒数


3
投票

正如Ron所描述的那样,你可以从注册表中读到InstallDate,尽管它没有正式记录。如果要使用官方API,请改用WMI。 Win32_OperatingSystem类有InstallDate属性。


0
投票

谢谢您的意见。我想知道你是否可以告诉我们是否有任何基本的winapi在c ++中使用?

© www.soinside.com 2019 - 2024. All rights reserved.