如何使用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;
}
答案 0 :(得分:6)
您可以阅读HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
注册表项并获取该值。阅读是通过使用WinAPI的registry functions之一RegOpenKeyEx和RegQueryValueEx来完成的。该值代表:
自1970年1月1日00:00:00起的秒数
答案 1 :(得分:3)
正如罗恩所描述的那样,你可以从注册表中阅读InstallDate
,尽管它没有正式记录。如果要使用官方API,请改用WMI。 Win32_OperatingSystem
类具有InstallDate
属性。
答案 2 :(得分:0)
感谢您的评论。我想知道你是否可以告诉我们是否有任何基本的winapi在c ++中使用?