2016-08-24 66 views
0

如何获取自上次用户在C++应用程序中登录Windows以来的时间?如何获取自上次用户登录Windows以来的时间?

我们有像GetTickCount64QueryUnbiasedInterruptTime功能检索时间,因为OS启动。但我找不到与用户登录相关的任何内容。

我们可以使用GetSystemTimes并将lpUserTime除以系统中的逻辑核心数量吗?

回答

1

呼叫NetUserGetInfo与级别= 2。这给你一个USER_INFO_2结构,其包括usri2_last_logon;(一个DWORD保持一个32位UNIX时间标记 - 自午夜即,秒,1970年1月1日)。

请注意,如果您位于域中,域控制器(至少是备份控制器)会分别存储登录时间,因此要获取最新信息,您需要询问所有域控制器并使用最近的时间你得到的结果的印记。

相关问题