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