windows-nt/Source/XPSP1/NT/shell/tools/regdate/main.cpp
2020-09-26 16:20:57 +08:00

50 lines
1.4 KiB
C++

#include <tchar.h>
#include <stdio.h>
#include <windows.h>
#define ARRAYSIZE(a) (sizeof((a))/sizeof((a)[0]))
#ifdef UNICODE
extern "C"
{
int __cdecl wmain(int argc, wchar_t* argv[])
#else
int __cdecl main(int argc, char* argv[])
#endif
{
HKEY hkey;
FILETIME ft = {0};
SYSTEMTIME st = {0};
PBYTE pb = (PBYTE)&ft;
GetSystemTimeAsFileTime(&ft);
if (FileTimeToSystemTime(&ft, &st))
{
_tprintf(TEXT("\nTime: %04d-%02d-%02d %02d:%02d:%02d:%04d\n\n"), st.wYear,
st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond,
st.wMilliseconds);
}
_tprintf(TEXT("Put this in devxprop.inx:\n"));
_tprintf(TEXT("HKLM,\"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\PerHwIdStorage\",\"LastUpdateTime\",1,%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x\n"),
pb[0], pb[1], pb[2], pb[3], pb[4], pb[5], pb[6], pb[7]);
if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_CURRENT_USER,
TEXT("Software\\Microsoft\\Test"), 0, NULL,
REG_OPTION_VOLATILE, MAXIMUM_ALLOWED, NULL, &hkey, NULL))
{
if (ERROR_SUCCESS == RegSetValueEx(hkey, TEXT("LastUpdateTimeCompare"),
NULL, REG_BINARY, (PBYTE)&ft, sizeof(ft)))
{
_tprintf(TEXT("\n> Successfully written value HKCU\\Software\\Microsoft\\Test!LastUpdateTime for comparison.\n"));
}
CloseHandle(hkey);
}
return 0;
}
#ifdef UNICODE
}
#endif