本文实例讲述了C#通过热键控制显示器开关的方法。分享给大家供大家参考。
具体实现方法如下:
代码如下:usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
namespaceOpenMonitor
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
HotKey.RegisterHotKey(this.Handle,100,0,Keys.F4);
HotKey.RegisterHotKey(this.Handle,101,0,Keys.F5);
}
classHotKey
{
//如果函数执行成功,返回值不为0。
//如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
[DllImport(“user32.dll “,SetLastError=true)]
publicstaticexternboolRegisterHotKey(
IntPtrhWnd,//要定义热键的窗口的句柄
intid, //定义热键ID(不能与其它ID重复)
KeyModifiersfsModifiers,//标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
Keysvk //定义热键的内容
);
[DllImport(“user32.dll “,SetLastError=true)]
publicstaticexternboolUnregisterHotKey(
IntPtrhWnd, //要取消热键的窗口的句柄
intid //要取消热键的ID
);
//定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值)
[Flags()]
publicenumKeyModifiers
{
None=0,
Alt=1,
Ctrl=2,
Shift=4,
WindowsKey=8
}
}
protectedoverridevoidWndProc(ref Messagem)
{
constintWM_HOTKEY=0x0312;
//按快捷键
switch(m.Msg)
{
caseWM_HOTKEY:
switch(m.WParam.ToInt32())
{
case100:
MonitorHelper.TurnOn();
break;
case101:
MonitorHelper.TurnOff();
break;
}
break;
}
base.WndProc(ref m);
}
classMonitorHelper
{
publicstaticvoidTurnOn()
{
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,-1);
}
publicstaticvoidTurnOff()
{
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,2);
}
[DllImport(“user32.dll”)]
publicstaticexternintSendMessage(IntPtrhWnd,uintMsg,intwParam,intlParam);
privatestaticreadonlyIntPtrHWND_BROADCAST=newIntPtr(0xffff);
privateconstuintWM_SYSCOMMAND=0x0112;
privateconstintSC_MONITORPOWER=0xf170;
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章:C#全局热键设置与窗体热键设置实例c#使用热键实现程序窗口隐藏示例深入理解C#实现快捷键(系统热键)响应的方法C#系统热键注册实现代码C#实现自定义windows系统日志的方法C#自定义签名章实现方法C#自定义类型强制转换实例分析C#自定义事件及用法实例C#编程实现自定义热键的方法
C语言运算符的优先级和结合性实例详解
分析C语言一个简单程序
上述就是C#学习教程:C#通过热键控制显示器开关的方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905961.html