今天在項目開展中有一個需求,開發一個程序在一定時間內可以讓電腦自動開關監視器
具體實現代碼如下:
1、引用API
[DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
2、具體實現
/// <summary> /// 關閉監視器 /// </summary> /// <param name="control">this</param> /// <returns>返回值:True表示成功 False表示失敗</returns> public bool OffScreen(Control control) { try { SendMessage(control.Handle, (uint)0x0112, (IntPtr)0xF170, (IntPtr)2); return true; } catch { return false; } }
/// <summary> /// 打開監視器 /// </summary> /// <param name="control">this</param> /// <returns>返回值:True表示成功 False表示失敗</returns> public bool OpenScreen(Control control) { try { SendMessage(control.Handle, (uint)0x0112, (IntPtr)0xF170, (IntPtr)(-1)); return true; } catch { return false; } }