2016-08-24 31 views
0

如何獲取自上次用戶在C++應用程序中登錄Windows以來的時間?如何獲取自上次用戶登錄Windows以來的時間?

我們有像GetTickCount64QueryUnbiasedInterruptTime功能檢索時間,因爲OS啓動。但我找不到與用戶登錄相關的任何內容。

我們可以使用GetSystemTimes並將lpUserTime除以系統中的邏輯核心數量嗎?

回答

1

呼叫NetUserGetInfo與級別= 2。這給你一個USER_INFO_2結構,其包括usri2_last_logon;(一個DWORD保持一個32位UNIX時間標記 - 自午夜即,秒,1970年1月1日)。

請注意,如果您位於域中,域控制器(至少是備份控制器)會分別存儲登錄時間,因此要獲取最新信息,您需要詢問所有域控制器並使用最近的時間你得到的結果的印記。

相關問題