C 註冊熱鍵 快捷鍵

2021-10-24 18:17:53 字數 1514 閱讀 9082

熱鍵是全域性的,使用 api 註冊。

快捷鍵是區域性的,不使用 api ,只能在視窗啟用的時候使用。

#include

#include

using

namespace std;

intmain()

if(0==

registerhotkey

(null,2

, mod_control, vk_f2)

)// 訊息迴圈

msg msg =

;while

(getmessage

(&msg,

null,0

,0))

elseif(

2== msg.wparam)

break;}

default

:break;}

} cout <<

"finished."

<< endl;

return0;

}

#include

#include

using

namespace std;

// keycode 參考:

lresult callback __wndproc

(hwnd hwnd, uint msg, wparam wparam, lparam lparam)

return

defwindowproc

(hwnd, msg, wparam, lparam);}

intmain()

// 建立視窗

hwnd hwnd =

createwindowex

( ws_ex_topmost,

// 視窗擴充套件樣式:頂級視窗

l"lysm_class"

,// 視窗類名

l"lysm_title"

,// 視窗標題

// 視窗樣式:重疊視窗0,

// 視窗初始x座標0,

// 視窗初始y座標

800,

// 視窗寬度

600,

// 視窗高度0,

// 父視窗控制代碼0,

// 選單控制代碼

hins,

// 與視窗關聯的模組例項的控制代碼

0// 用來傳遞給視窗wm_create訊息);

if(hwnd ==0)

updatewindow

(hwnd)

;showwindow

(hwnd, sw_show)

;// 訊息迴圈(沒有會導致視窗卡死)

msg msg =

;while

(msg.message != wm_quit)

} cout <<

"finished."

<< endl;

getchar()

;end:

getchar()

;return0;

}

WinForm程式 註冊熱鍵快捷鍵切換

重寫defwndproc事件 region window 訊息捕獲 const int wm copydata 0x004a public struct copydatastruct dllimport user32 public static extern bool changewindowmes...

熱鍵與快捷鍵的區別

熱鍵和快捷鍵 hotkey and shortcut key 熱鍵是跟在功能選單後的帶下劃線的鍵,直接按下就可以,只有看到了才可以使用 快捷鍵一般為組合鍵,不需要看到選單後定義的快捷按鈕,直接按組合鍵即可實現其功能。熱鍵必須在能看見該熱鍵的情況下才有效,就是說如果是選單上的熱鍵,就要先彈出選單,才能...

RegisterHotKey註冊快捷鍵

bool registerhotkey hwnd hwnd,響應該熱鍵的視窗控制代碼 int id,該熱鍵的唯一標識 uint fsmodifiers,該熱鍵的輔助按鍵 uint vk 該熱鍵的鍵值 為了得到唯一標識,我們還將用到另乙個api函式 atom globaladdatom lpctstr...