1. 程式人生 > WINDOWS開發 >Windows系統快速休眠的小工具

Windows系統快速休眠的小工具

你好,讓我慢慢養成寫文章的習慣吧,先讓我介紹一個我平時用的小工具。它其實是一個命令列休眠批處理檔案,為什麼會有它呢,先講下:

我的編碼工作常常需要開啟很多軟體,本地Debug的過程中也會啟動一些依賴服務等這些。它們太多了,有些服務的啟動步驟也很繁瑣,覺得怪麻煩的,不想每次都這樣搞。
"不關機不就好了嘛?"

"不是要電費嘛,有時Win10還會自動重啟更新。"

"那休眠不就行了嘛?"

"試過,但是我的電腦它,每次喚醒之後 和開機沒什麼兩樣,空空如也"

就去網上搜了搜,也不知道是什麼就用起來了,挺好用的,完成了我要的下班之後 儲存作案現場,上班時 還原現場的需求。今不是想寫文章了嘛,想起了它。
"那你寫個厲害點的技術文章啊?"

"我不會,我不行,我不能"。

上面就交代下背景。下面就介紹一下這行命令

rundll32 powrprof.dll,SetSuspendState

真??樸實無華

rundll32從名字看有執行32位動態連結庫檔案的意思,其實它就是這麼做的(這裡我想到關於計算機的32位和64位,還有windows下的動態連結庫 也可以寫一篇)

它是Windows系統本身的一個內建程式,可以呼叫DLL(Dynamic Link Library)動態連結庫檔案
powrprof.dll是Windows電源計劃模組的DLL檔案,Windows的文件就是多,後面我會列在參考文件裡
SetSuspendState是powrprof.dll包含的函式,引數支援如下

boolean SetSuspendState(
boolean bHibernate,boolean bForce,boolean bWakeupEventsDisabled
);

bHibernate:true,休眠。false,掛起。

bForce:它沒影響。

bWakeupEventsDisabled:true,則將禁用所有喚醒事件。false,則任何系統喚醒事件均保持啟用狀態。

(喚醒事件可以由計算機的輸入裝置,滑鼠和鍵盤來觸發)

為什麼上面的命令列SetSuspendState後面沒有引數呢,其實預設是休眠,xp和Win 2000 可能要手動開啟休眠功能才可以。

"就這?"
"發現寫的挺囉嗦的,主要是有個我不認識的新朋友,可能不是計算機專業,就想講的明白些。雖然也有很多計算機的概念,實在不懂就先不求甚解吧。多瞭解點總是有趣的"

Tips:

  如果你想用,新建txt檔案,上述樸實無華的碼,手敲進去後,改下檔案字尾名為bat就好了,公眾號回覆001,也可以獲取。
  其實有個好玩的操作就是 傳送一份快捷方式到桌面,快捷方式可以更改圖示,不妨改成QQ什麼的。

摘錄:

問:Windows 系統裡睡眠和休眠有什麼區別?
答:
"睡眠”是一種節能狀態,當您希望再次開始工作時,可使計算機快速恢復全功率工作(通常在幾秒鐘之內)。讓計算機進入睡眠狀態就像暫停 DVD 播發機一樣:計算機會立即停止當前操作,並做好在您要繼續工作時重新啟動的準備。
休眠”是一種主要為膝上型電腦設計的電源節能狀態。睡眠通常會將工作和設定儲存在記憶體中並消耗少量的電量,而休眠則將開啟的文件和程式儲存到硬碟中,然後關閉計算機。在 Windows 使用的所有節能狀態中,休眠使用的電量最少。對於膝上型電腦,如果您知道將有很長一段時間不使用它,並且在那段時間不可能給電池充電,則您應使用休眠模式。

參考文件:
SetSuspendState
命令列下的“蒙面歌王”rundll32.exe