2012-07-14 98 views
0

我發現一個Tutorial關於如何獲得PC的空閒時間。如何當我運行示例空閒時間總是0,無論我多麼閒置我離開我的電腦!Cant Get PC空閒時間

系統正常運行正常,但空閒時間總是0!任何想法爲什麼發生這種情況?

  • 64位Windows 7
+0

可能重複(HTTP://計算器.com/questions/10970625/how-windows-decides-to-show-the-screensave) – 2012-07-14 13:46:38

+0

@HansPassant我不問如何獲得IdleTime即時通訊問爲什麼代碼不工作!你指向的問題是討論一個不同的問題,並用不同的代碼! – Stacker 2012-07-14 15:12:42

回答

0

我在告訴你,你可能已經知道的危險,但這些代碼是用於用戶空閒時間,而不是系統空閒時間。

使用Environment.TickCount是有問題的實踐爲值從0開始,上升至X(後約25天),然後包裝輪-X。所以你不能總是使用直接減法,如代碼所示。

http://msdn.microsoft.com/en-us/library/system.environment.tickcount(v=vs.80).aspx

假設你在運行它在PC上,雖然,這應該是罰款(假設你相當定期重新啓動)。

根據您如何運行它,你可能還需要看看這個:

GetLastInputInfo API doesn't work if windows is set to "Automatic Login"

的[Windows如何決定顯示screensave]
+0

是的,我的窗戶沒有設置爲自動登錄,我知道與Environment.tickcount的問題,但我仍然不能讓它返回除0之外的任何東西:S – Stacker 2012-07-14 12:41:13

+0

非常奇怪 - 我把它作爲教程在GUI中運行描述並不是將其包裝在一個服務中? – 2012-07-14 13:25:16

+0

是的,只是相同的GUI!它可能是因爲即時通訊在Windows 7 64位? – Stacker 2012-07-14 13:37:42