C 程式熱鍵設定

2021-08-25 09:16:29 字數 782 閱讀 1718

採用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...