如何通过某些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可以。

08-16 02:18