时间:2021-05-20
本文实例讲述了C#通过热键控制显示器开关的方法。分享给大家供大家参考。
具体实现方法如下:
复制代码 代码如下:using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace OpenMonitor
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
HotKey.RegisterHotKey(this.Handle, 100, 0, Keys.F4);
HotKey.RegisterHotKey(this.Handle,101,0,Keys.F5);
}
class HotKey
{
// 如果函数执行成功,返回值不为0。
// 如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
[DllImport("user32.dll ", SetLastError = true)]
public static extern bool RegisterHotKey(
IntPtr hWnd, // 要定义热键的窗口的句柄
int id, // 定义热键ID(不能与其它ID重复)
KeyModifiers fsModifiers, // 标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效
Keys vk // 定义热键的内容
);
[DllImport("user32.dll ", 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 (m.Msg)
{
case WM_HOTKEY:
switch (m.WParam.ToInt32())
{
case 100:
MonitorHelper.TurnOn();
break;
case 101:
MonitorHelper.TurnOff();
break;
}
break;
}
base.WndProc(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("user32.dll")]
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#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
电脑屏幕关了的开启方法是: 1、台式电脑的显示器开启与关闭都有单独的电源控制开关的,仔细寻找显示器上的按钮即可。一般情况下显示器开关是处于常开状态。让每次开机
以AOC冠捷23寸显示器为例,aoc显示器要关闭屏幕,只要关断显示器的电源即可。关闭方法有两种: 1、在显示器上,设有专门的用于关闭/打开显示器电源的开关按键
电脑开机关机循环的解决方法是: 1、先拔下显示器跟主机连接的数据线,单独打开显示器的电源开关。一般显示器如果正常的话,会显示显示器的厂家信息或有显示器未连接的
笔记本屏幕坏了外接显示器的方法是: 1、首先将液晶显示器接上电源,然后将显示器数据线与笔记本电脑上的VGA接口相连接即可。有些液晶显示器有开关,需要将显示器打
不同的厂商对OSD菜单的解锁方式不同,对AOC显示器的解锁的两种方法,请根据自己显示器型号选择自己的解锁方法。OSD解锁方法一:先按下显示器上的电源开关键关掉显