网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

C#通过热键控制显示器开关方法简介

栏目: 计算机硬件 / 发布于: / 人气:5.69K

本文实例讲述了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#程序设计有所帮助。