国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#編程實現自定義熱鍵的方法

2020-01-24 01:29:58
字體:
來源:轉載
供稿:網友

本文實例講述了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.Drawing.Imaging;using System.IO;using System.Runtime.InteropServices;using System.Net;using System.Drawing.Drawing2D;namespace App{ public partial class Form2 : Form {  public Form2()  {   InitializeComponent();   //程序加載加載熱鍵   this.Load += delegate   {    // 熱鍵一:Control +光標左箭頭    CustomSystemKeyBoard.RegisterHotKey(Handle, 100, 8, Keys.Left);    // 熱鍵一:Control +光標右箭頭    CustomSystemKeyBoard.RegisterHotKey(Handle, 200, 2, Keys.Right);    // 熱鍵一:Control +光標上箭頭    CustomSystemKeyBoard.RegisterHotKey(Handle, 300, 2, Keys.Up);    // 熱鍵一:Control +光標下箭頭    CustomSystemKeyBoard.RegisterHotKey(Handle, 400, 2, Keys.Down);   };   //在程序退出時取消熱鍵的注冊   this.FormClosing += delegate   {    CustomSystemKeyBoard.UnregisterHotKey(Handle, 100);    CustomSystemKeyBoard.UnregisterHotKey(Handle, 200);    CustomSystemKeyBoard.UnregisterHotKey(Handle, 300);    CustomSystemKeyBoard.UnregisterHotKey(Handle, 400);   };  }  protected override void WndProc(ref Message m)  {   //如果m.Msg的值為0x0312那么表示用戶按下了熱鍵   const int WM_HOTKEY = 0x0312;   switch (m.Msg)   {    case WM_HOTKEY:     ProcessKey(m);     break;   }   base.WndProc(ref m);  }  /// <summary>  /// 按下熱鍵的操作  /// </summary>  /// <param name="m"></param>  protected void ProcessKey(Message m)  {   //IntPtr用于表示指針或句柄的平臺特定類型    string id = m.WParam.ToString();   MessageBox.Show(id);   switch (id)   {    case "100":     //     break;    case "200":     break;    case "300":     break;    case "400":     break;   }  } } public class CustomSystemKeyBoard {  /// <summary>  /// 聲明API函數  /// </summary>  /// <param name="hWnd">Handle</param>  /// <param name="id">熱鍵id</param>  /// <param name="fsModifiers">熱鍵類型(KeyModifiers)</param>  /// <param name="vk">鍵盤按鍵</param>  /// <returns></returns>  [System.Runtime.InteropServices.DllImport("user32.dll")]  public static extern bool RegisterHotKey(   IntPtr hWnd,   int id,   uint fsModifiers,   Keys vk   );  /// <summary>  /// 聲明API函數  /// </summary>  /// <param name="hWnd"></param>  /// <param name="id"></param>  /// <returns></returns>  [System.Runtime.InteropServices.DllImport("user32.dll")]  public static extern bool UnregisterHotKey(IntPtr hWnd, int id);  /// <summary>  /// 定義一個KeyModifiers的枚舉,以便出現組合鍵  /// </summary>  public enum KeyModifiers  {   None = 0,   Alt = 1,   Control = 2,   Shift = 3,   Windows = 8  } }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德清县| 调兵山市| 蚌埠市| 江津市| 浦县| 浪卡子县| 鱼台县| 乌拉特后旗| 屏南县| 页游| 临高县| 牡丹江市| 迁安市| 彭泽县| 东兴市| 开封县| 株洲市| 信丰县| 尤溪县| 梁平县| 周宁县| 五家渠市| 三江| 孝感市| 巢湖市| 平顺县| 文山县| 慈溪市| 绥江县| 青神县| 密山市| 永和县| 博爱县| 阿拉尔市| 和田市| 呼图壁县| 静海县| 若尔盖县| 奉节县| 中牟县| 苏尼特右旗|