电脑休眠怎么停止-(电脑休眠怎么停止运行)
通常我們使用電腦過程中會設置多長時間不操作,電腦就會滅屏、睡眠甚至是休眠。如果電腦進入睡眠或者休眠模式,電腦運行的程序將不再執行。如果我們設計的桌面程序一直在執行某種操作,比如持續的USB通信,操作人可能會離開很久,這個時候,我們不希望電腦進入睡眠或者休眠模式。那么該如何實現這一功能呢?
系統中相關接口文件是提供了這一功能,即調用如下方法即可:
[DllImport("kernel32")]private static extern ExecutionState SetThreadExecutionState(ExecutionState esFlags);[Flags]private enum ExecutionState : uint{SystemRequired = 0x01,DisplayRequired = 0x02,[Obsolete("This value is not supported.")]UserPresent = 0x04,AwayModeRequired = 0x40,Continues = 0x80000000,}
如上所示,只需要設置系統狀態即可,ExcutionState各個枚舉變量的含義為:SystemRequired,強行設置系統IDLE計時器,使得系統一直處于工作態;DisplayRequired,通過重置顯示器IDLE計時器,使得顯示器一直處于顯示狀態;Continues,系統狀態維持當前狀態,直到下一次方法調用或者標志位改變。
Microsoft官網參考鏈接為:SetThreadExecutionState function (winbase.h) - Win32 apps | Microsoft Learn

系統狀態枚舉變量
具體調用方法如下:
// 設置此線程此時開始一直將處于運行狀態,此時計算機不應該進入睡眠狀態。// 此線程退出后,設置將失效。// 如果需要恢復,請調用 <"RestoreForCurrentThread"/> 方法。// <param name="keepDisplayOn">// 表示是否應該同時保持屏幕不關閉。// 對于游戲、視頻和演示相關的任務需要保持屏幕不關閉;而對于后臺服務、下載和監控等任務則不需要。public static void PresentForCurrentThread(bool keepDisplayOn){SetThreadExecutionState(keepDisplayOn ? (ExecutionState.Continues|ExecutionState.SystemRequired | ExecutionState.DisplayRequired) : (ExecutionState.Continues| ExecutionState.SystemRequired));}//恢復此線程的運行狀態,操作系統現在可以正常進入睡眠狀態和關閉屏幕。public static void RestoreForCurrentThread(){SetThreadExecutionState(ExecutionState.Continues);}// 重置系統睡眠或者關閉屏幕的計時器,這樣系統睡眠或者屏幕能夠繼續持續工作設定的超時時間。// <param name="keepDisplayOn">// 表示是否應該同時保持屏幕不關閉。// 對于游戲、視頻和演示相關的任務需要保持屏幕不關閉;而對于后臺服務、下載和監控等任務則不需要。public static void ResetIdle(bool keepDisplayOn){SetThreadExecutionState(keepDisplayOn ? (ExecutionState.SystemRequired | ExecutionState.DisplayRequired) : (ExecutionState.SystemRequired));}
因此,只要調用ResetIdle(true)就可以實現屏幕常亮并且系統運行正常。如果要取消只要調用RestoreForCurrentThread()即可。
總結
以上是生活随笔為你收集整理的电脑休眠怎么停止-(电脑休眠怎么停止运行)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘装系统如何进入u盘-(u盘装系统如何
- 下一篇: 显示不出u盘没反应-(显示不出u盘没反应