如何通过某些WinAPI函数在C++中获得Windows启动时间?我目前正在使用命令“systeminfo”,但正在寻找更合适的解决方案。
最佳答案
我已经检查了任务管理器的工作方式,发现它使用了ZwQuerySystemInformation(SystemTimeOfDayInformation, ...)
函数,该函数接收SYSTEM_TIMEOFDAY_INFORMATION
结构。
typedef struct _SYSTEM_TIMEOFDAY_INFORMATION {
LARGE_INTEGER BootTime;
LARGE_INTEGER CurrentTime;
LARGE_INTEGER TimeZoneBias;
ULONG TimeZoneId;
ULONG Reserved;
ULONGLONG BootTimeBias;
ULONGLONG SleepTimeBias;
} SYSTEM_TIMEOFDAY_INFORMATION, *PSYSTEM_TIMEOFDAY_INFORMATION;
(source)
BootTime
是您要寻找的。对于更多文档,我认为
GetTickCount64
可以。