1
下面的代碼可以讓我以防止Windows從鎖定本身進入空閒狀態和我的機器:預防和重新啓用Windows空閒狀態
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags);
public static void PreventSleep()
{
if (SleepUtil.SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS
| EXECUTION_STATE.ES_DISPLAY_REQUIRED
| EXECUTION_STATE.ES_SYSTEM_REQUIRED
| EXECUTION_STATE.ES_AWAYMODE_REQUIRED) == 0)
SleepUtil.SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS
| EXECUTION_STATE.ES_DISPLAY_REQUIRED
| EXECUTION_STATE.ES_SYSTEM_REQUIRED);
}
這工作得很好,但我需要做的重新啓用閒置?我一直在搞一些事情,但每次嘗試時,我都必須離開筆記本電腦10分鐘以查看它是否閒置(我的電源選項已被組策略鎖定)。
只是有機會測試這個,但它絕對有效!非常感謝。作爲一個方面說明,我刪除了EXECUTION_STATE.ES_AWAYMODE_REQUIRED標誌,因爲這阻止了我睡覺我的機器。現在它會休眠並繼續,同時繼續防止鎖定超時。優秀 :) – 2013-04-17 11:48:22