亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#全局熱鍵設置與窗體熱鍵設置實例

2020-01-24 02:20:20
字體:
來源:轉載
供稿:網友

本文實例講述了C#全局熱鍵設置與窗體熱鍵設置,分享給大家供大家參考。具體實現方法如下:

1、窗體熱鍵

首先要設置主窗體KeyPreview為true,可直接在屬性中進行設置,
或者在窗體加載中設置: this.KeyPreview = true;
然后添加窗體KeyDown事件,如下:

復制代碼 代碼如下:
private void FrmMain_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Alt && e.Shift && e.Control && e.KeyCode == Keys.S)
    {
 MessageBox.Show("我按了Control +Shift +Alt +S");
    }
}

2、全局熱鍵設置

定義API函數 》 注冊熱鍵 》 卸載熱鍵

我這里定義了AppHotKey類,全部代碼如下:

復制代碼 代碼如下:
public class AppHotKey
{
        [DllImport("kernel32.dll")]
        public static extern uint GetLastError();
        //如果函數執行成功,返回值不為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
        }
        /// <summary>
        /// 注冊熱鍵
        /// </summary>
        /// <param name="hwnd">窗口句柄</param>
        /// <param name="hotKey_id">熱鍵ID</param>
        /// <param name="keyModifiers">組合鍵</param>
        /// <param name="key">熱鍵</param>
        public static void RegKey(IntPtr hwnd, int hotKey_id, KeyModifiers keyModifiers, Keys key)
        {
            try
            {
                if (!RegisterHotKey(hwnd, hotKey_id, keyModifiers, key))
                {
                    if (Marshal.GetLastWin32Error() == 1409) { MessageBox.Show("熱鍵被占用 !"); }
                    else
                    {
                        MessageBox.Show("注冊熱鍵失??!");
                    }
                }
            }
            catch (Exception) { }
        }
        /// <summary>
        /// 注銷熱鍵
        /// </summary>
        /// <param name="hwnd">窗口句柄</param>
        /// <param name="hotKey_id">熱鍵ID</param>
        public static void UnRegKey(IntPtr hwnd, int hotKey_id)
        {
            //注銷Id號為hotKey_id的熱鍵設定
            UnregisterHotKey(hwnd, hotKey_id);
        }
}

重寫窗體的WndProc函數,在窗口創建的時候注冊熱鍵,窗口銷毀時銷毀熱鍵,代碼如下:

復制代碼 代碼如下:
private const int WM_HOTKEY = 0x312; //窗口消息-熱鍵
private const int WM_CREATE = 0x1; //窗口消息-創建
private const int WM_DESTROY = 0x2; //窗口消息-銷毀
private const int Space = 0x3572; //熱鍵ID
protected override void WndProc(ref Message m)
{
    base.WndProc(ref m);
    switch (m.Msg)
    {
 case WM_HOTKEY: //窗口消息-熱鍵ID
     switch (m.WParam.ToInt32())
     {
  case Space: //熱鍵ID
      MessageBox.Show("我按了Control +Shift +Alt +S");
      break;
  default:
      break;
     }
     break;
 case WM_CREATE: //窗口消息-創建
     AppHotKey.RegKey(Handle, Space, AppHotKey.KeyModifiers.Ctrl | AppHotKey.KeyModifiers.Shift | AppHotKey.KeyModifiers.Alt, Keys.S);
     break;
 case WM_DESTROY: //窗口消息-銷毀
     AppHotKey.UnRegKey(Handle, Space); //銷毀熱鍵
     break;
 default:
     break;
    }
}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人福利夜色影视| 久久久久久久久久婷婷| 久久久久久久久久久久av| 97超视频免费观看| 韩国一区二区电影| 日韩精品视频在线观看网址| 国产91免费观看| 日韩毛片在线观看| 色婷婷综合久久久久中文字幕1| 欧美在线激情网| 黑人巨大精品欧美一区免费视频| 亚洲小视频在线观看| 国产中文字幕日韩| 久久在精品线影院精品国产| 一本色道久久88亚洲综合88| 日韩在线欧美在线国产在线| 成人午夜黄色影院| 成人免费视频在线观看超级碰| 亚洲男人的天堂在线播放| 国产精品入口夜色视频大尺度| 国产精品黄色影片导航在线观看| 亚洲欧美日韩精品久久奇米色影视| 成人激情视频在线播放| 欧洲精品在线视频| 91影院在线免费观看视频| 69av在线播放| 精品国产户外野外| 欧美精品videossex性护士| 高清视频欧美一级| 欧美xxxx18国产| 亚洲午夜精品久久久久久久久久久久| 国产精品久久久久aaaa九色| 日韩精品视频免费在线观看| 久久精品国产综合| 国产精品久久久久7777婷婷| 亚洲亚裔videos黑人hd| 欧美高清一级大片| 国模极品一区二区三区| 亚洲精品一区中文| 色综合色综合久久综合频道88| 亚洲精品国产综合区久久久久久久| 欧美巨猛xxxx猛交黑人97人| 欧美色视频日本版| 亚洲一二三在线| 日韩成人在线电影网| 国产视频欧美视频| 亚洲美女av电影| 亚洲欧美精品伊人久久| 国产成人精品在线视频| 91国产精品91| 欧美成人免费全部| 欧美精品免费播放| 深夜精品寂寞黄网站在线观看| 国产精品久久久久久久久久久新郎| 久久香蕉国产线看观看av| 98精品国产自产在线观看| 亚洲香蕉av在线一区二区三区| 欧美日韩一区二区三区在线免费观看| 国产精品普通话| 91精品国产99| 麻豆国产va免费精品高清在线| 亚洲最大福利视频网| 日韩久久午夜影院| 国产日韩精品在线播放| 日韩中文字幕在线播放| 久99久在线视频| 国产精品96久久久久久又黄又硬| 欧美午夜电影在线| 91伊人影院在线播放| 国产精品午夜视频| 欧美成人午夜剧场免费观看| 日韩女在线观看| 久久久www成人免费精品张筱雨| 欧美日韩精品在线| 欧美中文字幕精品| 日韩黄在线观看| 欧美国产高跟鞋裸体秀xxxhd| 精品一区二区三区四区在线| 国语自产精品视频在线看抢先版图片| 久久久国产影院| 精品视频在线播放免| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久免费a∨大胸| 2019中文字幕全在线观看| 国产综合在线看| 国产有码一区二区| 欧美性20hd另类| 国产精品久久久久久影视| 欧美在线视频免费| 欧美一级bbbbb性bbbb喷潮片| 亚洲裸体xxxx| 91经典在线视频| 91av在线网站| 亚洲人成伊人成综合网久久久| 久久久久久九九九| 一个人看的www欧美| 国产精品亚洲网站| 国产亚洲成av人片在线观看桃| 亚洲第一区中文字幕| 国产精品久久久久久久久久久久久久| 日韩国产精品亚洲а∨天堂免| 91欧美精品午夜性色福利在线| 精品一区二区电影| 久久乐国产精品| 韩国欧美亚洲国产| 欧美理论电影在线观看| 中文字幕亚洲欧美日韩在线不卡| 久久人人爽人人爽人人片亚洲| 久久久免费观看| 精品久久久久久亚洲国产300| 国产精品久久久久久五月尺| 日韩欧美国产网站| 亚洲国产欧美自拍| 青青草精品毛片| 欧美在线视频一区| 中文字幕亚洲无线码在线一区| 日韩免费高清在线观看| 色爱av美腿丝袜综合粉嫩av| 亚洲色图狂野欧美| 成人免费大片黄在线播放| 成人福利网站在线观看11| 国产精品久久久久久久久借妻| 国产自摸综合网| 97视频免费观看| 尤物精品国产第一福利三区| 亚洲片在线观看| 亚洲区在线播放| 久久中文字幕在线| 欧美黑人xxx| 亚洲精品国偷自产在线99热| 久久国产精品99国产精| 51午夜精品视频| 中文在线资源观看视频网站免费不卡| 久久av.com| 欧美日韩成人在线播放| 日韩免费高清在线观看| 成人黄色中文字幕| 91在线直播亚洲| 日韩av电影中文字幕| 亚洲欧美日韩天堂一区二区| 国产精品wwww| 国产精品露脸av在线| 97在线看免费观看视频在线观看| 欧美性xxxx极品hd欧美风情| 欧美一级高清免费播放| 欧美日韩国产区| 成人动漫网站在线观看| 日韩在线精品视频| 亚洲一区二区福利| 日韩中文字幕网| 国产成人啪精品视频免费网| 在线观看免费高清视频97| 亚洲美女黄色片| 播播国产欧美激情| 久久久久久久久91| 在线电影中文日韩| 91精品国产精品| 在线电影中文日韩| 国产精品日韩在线| 中文字幕日韩欧美精品在线观看| 欧美华人在线视频| 久久亚洲国产成人| 在线观看久久久久久| 亚洲欧美国产精品专区久久|