在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何阻止電腦進入睡眠或者休眠

CHANBAEK ? 來源:頭條號NCG杰哥 ? 作者:頭條號NCG杰哥 ? 2023-02-28 14:30 ? 次閱讀

通常我們使用電腦過程中會設置多長時間不操作,電腦就會滅屏、睡眠甚至是休眠。 如果電腦進入睡眠或者休眠模式,電腦運行的程序將不再執行。 如果我們設計的桌面程序一直在執行某種操作,比如持續的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,系統狀態維持當前狀態,直到下一次方法調用或者標志位改變。

系統狀態枚舉變量

具體調用方法如下:

// 設置此線程此時開始一直將處于運行狀態,此時計算機不應該進入睡眠狀態。
// 此線程退出后,設置將失效。
// 如果需要恢復,請調用 <"RestoreForCurrentThread"/> 方法。
// 
// 表示是否應該同時保持屏幕不關閉。
// 對于游戲、視頻和演示相關的任務需要保持屏幕不關閉;而對于后臺服務、下載和監控等任務則不需要。
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);
}

// 重置系統睡眠或者關閉屏幕的計時器,這樣系統睡眠或者屏幕能夠繼續持續工作設定的超時時間。
// 
// 表示是否應該同時保持屏幕不關閉。
// 對于游戲、視頻和演示相關的任務需要保持屏幕不關閉;而對于后臺服務、下載和監控等任務則不需要。
public static void ResetIdle(bool keepDisplayOn)
{
	SetThreadExecutionState(keepDisplayOn ? (ExecutionState.SystemRequired | ExecutionState.DisplayRequired) : (ExecutionState.SystemRequired));
}

因此,只要調用ResetIdle(true)就可以實現屏幕常亮并且系統運行正常。 如果要取消只要調用RestoreForCurrentThread()即可。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 顯示器
    +關注

    關注

    21

    文章

    4981

    瀏覽量

    140055
  • usb
    usb
    +關注

    關注

    60

    文章

    7949

    瀏覽量

    264841
  • 電腦
    +關注

    關注

    15

    文章

    1708

    瀏覽量

    68885
  • 計時器
    +關注

    關注

    1

    文章

    420

    瀏覽量

    32728
  • 睡眠
    +關注

    關注

    0

    文章

    14

    瀏覽量

    8071
收藏 人收藏

    評論

    相關推薦

    CY8C4045AZI-S413使用外部時鐘 (48MHz) 而不是內部時鐘時可以進入睡眠模式嗎?

    (48MHz),設備能否僅通過執行 cysyspmSleep () API 進入睡眠模式? 或者,如果用戶使用外部時鐘,用戶是否需要進行其他處理? 當外部時鐘為 48MHz 時,您是否有睡眠模式下
    發表于 02-26 06:36

    STM32F103進入睡眠模式或者待機模式或者停機模式,IO腳原先設置的電平值是否會改變?

    STM32F103進入睡眠模式或者待機模式或者停機模式,IO腳原先設置的電平值是否會改變? 鎖定STM32F103的IO腳,那么當 STM32F103進入睡眠模式
    發表于 05-17 09:22

    使用wifi_set_sleep_type設置為light sleep后無法進入休眠怎么解決?

    使用wifi_set_sleep_type設置為light sleep后無法進入休眠,模塊電流一直在80mA左右,(用強制light sleep休眠可以到十幾mA) 手冊說調用wifi_set_sleep_type后“由系統底層
    發表于 07-22 06:12

    WICED 6.0如何進入睡眠模式?

    你好:問題一:在版本5之后,沒有“WiDeDeHalyLPM .h”文件,進入和退出原來的睡眠模式已經無法實現,現在6套睡眠模式的API是哪里?問題二:此外,將睡眠設置在“MyHyAp
    發表于 12-11 14:54

    請問SIM800A進入睡眠模式后進行喚醒有外部引腳進行電平變換進行指示嗎?

    SIM800A進入睡眠模式后進行喚醒有沒有外部引腳進行電平變換進行指示啊?或者睡眠模式中突然接收到了GPRS信號有沒有外部引腳進行電平變換指示?
    發表于 06-12 04:35

    STM32F429進入睡眠的方式

    睡眠進入睡眠的方式很簡單:只需要調用WFI 或WFE 命令,在睡眠模式中,內核停止,但是所有外設,包括M4 核心的外設均處于工作狀態中。喚醒睡眠的方式:任一中斷;喚醒事件。// Wai
    發表于 08-11 06:38

    筆記本電腦win10連接電源時無法進入睡眠的原因

    筆者的筆記本電腦(win10)一直有一個問題,就是當筆記本連接電源的時候,無法進入睡眠,苦思很久,一直沒找到答案。無論怎么設置電源選項,合蓋子、按電源鍵都沒有睡眠的效果,電腦只是黑屏,
    發表于 12-27 06:01

    進入睡眠模式(Sleep)的條件有哪些

    進入睡眠模式(Sleep)的條件:通過將Mode_Control寄存器(表5)中的MC位設置為01,可以從待機模式或正常模式中選擇睡眠模式。只要沒有待處理的中(引腳INTN =高電平)或喚醒
    發表于 01-17 06:17

    低溫環境CH578M進入睡眠之后立刻死掉怎么解決?

    最近大降溫發現578M進入睡眠之后立刻死掉 電流維持再10MA如果把板子靠近熱源 例如暖手寶這些東西 就能正常睡眠。跑的是ble_uart睡眠歷程。間隙性喚醒休眠
    發表于 08-16 06:13

    如和讓STM8S與STM8L安全地進入睡眠狀態呢?

    MCU 進入睡眠狀態——當所有標志都被清除時。但我不能簡單地寫:if(!flag1 && !flag2 ...){ go_to_sleep();}因為潛在的競爭條件。可以在 if 語句
    發表于 12-08 06:12

    程序進入睡眠模式設置了定時器中斷為什么不能喚醒睡眠

    程序進入睡眠模式,設置了定時器中斷為什么不能喚醒睡眠?看了手冊,上面寫的任意中斷都可以喚醒,上面列出來定時器全局中斷可以喚醒,這個全局中斷和定時器的普通中斷(更新中斷,輸入捕獲等)有什么區別嗎?
    發表于 10-19 06:57

    筆記本電腦合上蓋子不進入休眠模式的問題應該如何解決

    重新裝了win7 系統 升級到旗艦版,升級之后發現電腦合上蓋子不進入睡眠模式了,一直運行狀態把電腦的電都耗干了,網上搜索了很多電腦盒蓋的問題,解決方法都是右擊電源圖標的 ’電源選項‘,
    發表于 08-09 17:33 ?0次下載
    筆記本<b class='flag-5'>電腦</b>合上蓋子不<b class='flag-5'>進入</b><b class='flag-5'>休眠</b>模式的問題應該如何解決

    32 系統進入stop模式_如何讓MCU進入睡眠狀態節省能耗?

    我們探討過在每種Arm Cortex-M處理器上可以找到的低功耗模式的基本原理,以及如何使用WFI和WFE指令讓處理器進入睡眠模式。實際上我們真正要了解的是,低功耗模式如何在真正的微控制器上實現
    發表于 11-01 16:08 ?5次下載
    32 系統<b class='flag-5'>進入</b>stop模式_如何讓MCU<b class='flag-5'>進入睡眠</b>狀態節省能耗?

    APM32F103XC_TMR_關閉DMA進入睡眠模式出現故障

    APM32F103XC_TMR_關閉DMA進入睡眠模式出現故障
    發表于 11-09 21:03 ?0次下載
    APM32F103XC_TMR_關閉DMA<b class='flag-5'>進入睡眠</b>模式出現故障

    如何讓MCU進入睡眠狀態節省能耗?

    在我的上一篇文章《ARM Cortex-M低功耗模式基本原理》中,我們探討了在每種Arm Cortex-M處理器上可以找到的低功耗模式的基本原理,以及如何使用WFI和WFE指令讓處理器進入睡眠模式
    的頭像 發表于 08-04 14:27 ?653次閱讀
    如何讓MCU<b class='flag-5'>進入睡眠</b>狀態節省能耗?
    主站蜘蛛池模板: 夜夜嘿视频免费看| 午夜亚洲精品| 久久久久久毛片免费播放| 777色淫网站女女免费| xxxx日本老师hd| 久操视频免费看| 久久15| 91操碰| 制服丝袜在线一区| 女人aaaaa片一级一毛片| 国产伦精品一区二区三区四区| 一级特色黄大片| 五月天婷婷亚洲| 美女好紧好大好爽12p| 7777奇米| 免费视频一区二区| 亚洲成人国产| 亚洲精品亚洲人成毛片不卡| 视频三区| 亚洲bbbbbxxxxx精品三十七| 色九| 四虎影院永久地址| 三级免费黄色片| 国模私拍在线| 又黄又粗暴的120秒免费gif视频| 天天操操| 看黄网站在线| 一级片在线免费播放| 在线观看黄色一级片| 天堂8在线天堂资源在线| 99久久精品费精品国产| 女人十六毛片| 五月激情六月婷婷| 五月综合激情视频在线观看| 日本簧片在线观看| 国产特黄一级毛片特黄| 久久久久99精品成人片三人毛片| 欧美性天天影院| 国产三级在线看| 日本高清视频一区| 在线精品国产第一页|