今天在項目開展中有一個需求,開發一個程序在一定時間內可以讓電腦自動開關監視器
具體實現代碼如下:
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;
}
}