Csharp/C#教程:C#通过热键控制显示器开关的方法分享

本文实例讲述了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

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐