採用api的方式來實現。首先定義這些熱鍵註冊的api,如下**:
[dllimport("user32")]
public static extern bool registerhotkey(intptr hwnd, int id, uint control, keys vk);
//註冊熱鍵的api
[dllimport("user32")]
public static extern bool unregisterhotkey(intptr hwnd, int id);
protected override void wndproc(ref message m)
base.wndproc(ref m);
}如果需要註冊熱鍵,直接使用類似如下**即可:
//註冊熱鍵(窗體控制代碼,熱鍵id,輔助鍵,實鍵)
registerhotkey(this.handle, 888, 7, keys.p);
值得注意的是,7表示shift、alt和ctrl三個鍵的組合值。shift的值為4,alt的值為1,ctrl的值為2,windows鍵的值為8。如果要同時按住shift和alt鍵,則值為5。在此值7表示需要同時按住shift、alt和ctrl三個鍵,然後按住鍵盤的p,才表示註冊該窗體的快捷鍵。至於按住快捷鍵後,發生什麼事件,則修改
wndproc函式裡面的**:
if (m.wparam.tostring().equals("888")) //如果是我們註冊的那個熱鍵
後面的。如本例中this.show();表示按住該快捷鍵時將顯示該窗體。
C 程式熱鍵設定
採用api的方式來實現。首先定義這些熱鍵註冊的api,如下 dllimport user32 public static extern bool registerhotkey intptr hwnd,int id,uint control,keys vk 註冊熱鍵的api dllimport use...
C 全域性熱鍵設定 與 窗體熱鍵設定
1 窗體熱鍵 首先要設定主窗體keypreview為true,可直接在屬性中進行設定,或者在窗體載入中設定 this.keypreview true 然後新增窗體keydown事件,如下 private void frmmain keydown object sender,keyeventargs ...
C 全域性熱鍵設定與窗體熱鍵設定例項
1 窗體熱鍵 首先要設定主窗體keypreview為true,可直接在屬性中進行設定,或者在窗體載入中設定 this.keypreview true 然後新增窗體keydown事件,如下 複製 如下 private void frmmain keydown object sender,keyeven...