亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

C#通過熱鍵控制顯示器開關(guān)方法簡介

時間:2024-08-04 19:57:10 硬件維護 我要投稿
  • 相關(guān)推薦

C#通過熱鍵控制顯示器開關(guān)方法簡介

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

  具體實現(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#程序設(shè)計有所幫助。

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

顯示器的修理方法09-27

顯示器故障的檢查方法10-04

通過國際學校入學測試的方法09-16

C# AutoResetEvent的使用10-29

控制采購成本的方法05-22

配送成本控制方法07-18

采購成本控制方法05-12

黑茶的沖泡方法簡介02-25

色彩搭配方法簡介10-12

如何正確操作音響系統(tǒng)開關(guān)-正確操作音響系統(tǒng)開關(guān)的方法10-20