C#通過熱鍵控制顯示器開關方法簡介
本文例項講述了C#通過熱鍵控制顯示器開關的方法。分享給大家供大家參考。
具體實現方法如下:
複製程式碼 程式碼如下:using System;
using ric;
using onentModel;
using ;
using ing;
using ;
using ;
using s;
using ropServices;
namespace OpenMonitor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
sterHotKey(le, 100, 0, Keys.F4);
sterHotKey(le,101,0,Keys.F5);
}
class HotKey
{
// 如果函式執行成功,返回值不為0。
// 如果函式執行失敗,返回值為0。要得到擴充套件錯誤資訊,呼叫GetLastError。
[DllImport(" ", SetLastError = true)]
public static extern bool RegisterHotKey(
IntPtr hWnd, // 要定義熱鍵的.視窗的控制代碼
int id, // 定義熱鍵ID(不能與其它ID重複)
KeyModifiers fsModifiers, // 標識熱鍵是否在按Alt、Ctrl、Shift、Windows等鍵時才會生效
Keys vk // 定義熱鍵的內容
);
[DllImport(" ", SetLastError = true)]
public static extern bool UnregisterHotKey(
IntPtr hWnd, // 要取消熱鍵的視窗的控制代碼
int id // 要取消熱鍵的ID
);
// 定義了輔助鍵的名稱(將數字轉變為字元以便於記憶,也可去除此列舉而直接使用數值)
[Flags()]
public enum KeyModifiers
{
None = 0,
Alt = 1,
Ctrl = 2,
Shift = 4,
WindowsKey = 8
}
}
protected override void WndProc(ref Message m)
{
const int WM_HOTKEY = 0x0312;
// 按快捷鍵
switch ()
{
case WM_HOTKEY:
switch (t32())
{
case 100:
On();
break;
case 101:
Off();
break;
}
break;
}
roc(ref m);
}
class MonitorHelper
{
public static void TurnOn()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
}
public static void TurnOff()
{
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
}
[DllImport("")]
public static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);
private const uint WM_SYSCOMMAND = 0x0112;
private const int SC_MONITORPOWER = 0xf170;
}
}
}
希望本文所述對大家的C#程式設計有所幫助。