讓Monitor進入省電模式

  • 9249
  • 0

讓Monitor進入省電模式

有時在電腦前看書,偶爾才會動一下電腦,自動關螢幕時間又太久,不想關電源因為想動動滑鼠就啟動,所以就上Google找一下相關程式,本想用VBS寫,但VBS不能呼叫Win api,只好改用C#,這是我找來的代碼,在我的電腦上可以正確的進省電模式。

class Program
{
    const int MONITOR_ON = -1;
    const int MONITOR_OFF = 2;
    const int WM_SYSCOMMAND = 0x0112;
    const int SC_MONITORPOWER = 0xF170;
 
    [DllImport("user32.dll")]
    static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
 
    [DllImport("user32.dll")]
    static extern bool SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
 
    static void Main(string[] args)
    {
        IntPtr hwnd = FindWindow(null, null); //找出root window handler
        SendMessage(hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF); //送出關閉螢幕訊息
    }
}

附上Exe檔,如果你也想使用的話。

下載