Site icon KerKer 的模組世界

[Batch] 控制螢幕開關

&NewLine;<p class&equals;"wp-block-paragraph">邊做邊學,順便留個筆記,若有錯誤請不吝指教。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<&excl;--more-->&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">研究了很久,找到兩個比較簡單的方法:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<h3 class&equals;"wp-block-heading">方法一:call螢幕保護程式<&sol;h3>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>"C&colon;&bsol;Windows&bsol;System32&bsol;scrnsave&period;scr" &sol;start<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">這個方式就是讓windows系統呼叫螢幕保護程式輸出一個黑畫面<br>實際上螢幕還是會微微的發亮&lpar;通常螢幕的背光模組不會關閉&rpar;<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">而喚醒的方式也很簡單,只要模擬使用者移動滑鼠即可:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>rundll32 user32&period;dll&comma;SetCursorPos<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">或是鍵盤輸入任意鍵&lpar;這裡是用Enter鍵&rpar;:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>powershell &dollar;myshell &equals; New-Object -com "Wscript&period;Shell"&semi;&dollar;myshell&period;sendkeys&lpar;"&lbrace;ENTER&rcub;"&rpar;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<h3 class&equals;"wp-block-heading">方法案:切斷訊號輸出:<&sol;h3>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">透過直接 call power shell 直接切斷訊號輸出:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>powershell &lpar;Add-Type '&&num;91&semi;DllImport&lpar;&bsol;"user32&period;dll&bsol;"&rpar;&rsqb;&Hat;public static extern int SendMessage&lpar;int hWnd&comma; int hMsg&comma; int wParam&comma; int lParam&rpar;&semi;' -Name a -Pas&rpar;&colon;&colon;SendMessage&lpar;-1&comma;0x0112&comma;0xF170&comma;2&rpar;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">執行之後螢幕應該會變成無訊號<br>通常螢幕無訊號一段時間後會自行關閉背光模組&lpar;Backlight&rpar;<br>這樣就可以確實達到關閉螢幕的目的了<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">喚醒的部分有找到對應的做法是:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code"><code>powershell &lpar;Add-Type '&&num;91&semi;DllImport&lpar;&bsol;"user32&period;dll&bsol;"&rpar;&rsqb;&Hat;public static extern int SendMessage&lpar;int hWnd&comma; int hMsg&comma; int wParam&comma; int lParam&rpar;&semi;' -Name a -Pas&rpar;&colon;&colon;SendMessage&lpar;-1&comma;0x0112&comma;0xF170&comma;-1&rpar;<&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph">但在我的環境實際測試無法使用<br>故仍延續模擬使用者移動滑鼠或鍵盤輸入的方式喚醒。<&sol;p>&NewLine;

Exit mobile version