亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

硬件維護

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

時間:2024-10-08 14:39:23 硬件維護 我要投稿
  • 相關推薦

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

  本文實例講述了C#通過熱鍵控制顯示器開關的方法。分享給大家供大家參考。

  具體實現(xiàn)方法如下:

  復制代碼 代碼如下: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

  {

  // 如果函數(shù)執(zhí)行成功,返回值不為0。

  // 如果函數(shù)執(zhí)行失敗,返回值為0。要得到擴展錯誤信息,調(diào)用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 // 定義熱鍵的內(nèi)容

  );

  [DllImport("user32.dll ", SetLastError = true)]

  public static extern bool UnregisterHotKey(

  IntPtr hWnd, // 要取消熱鍵的窗口的句柄

  int id // 要取消熱鍵的ID

  );

  // 定義了輔助鍵的名稱(將數(shù)字轉(zhuǎn)變?yōu)樽址员阌谟洃,也可去除此枚舉而直接使用數(shù)值)

  [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#程序設計有所幫助。

【C#通過熱鍵控制顯示器開關方法簡介】相關文章:

顯示器的維護方法06-29

設置雙顯示器顯示的方法11-17

內(nèi)部控制審計的程序與方法10-20

配置顯示器顏色配置文件方法教程12-02

酒店如何控制成本-酒店控制成本的方法03-29

品質(zhì)控制的檢驗方法07-31

有效控制服裝尺寸的方法05-25

mercury無線路由器的設置方法簡介04-22

開關電源工作原理-開關電源的工作模式09-03

如何用C#制作氣泡屏幕保護07-19