C#通過熱鍵控制顯示器開關方法簡介

來源:文萃谷 4.17K

本文例項講述了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#程式設計有所幫助。

熱門標籤