關於keyboard hook |
答題得分者是:jessechan
|
bluechanel
一般會員 發表:7 回覆:15 積分:4 註冊:2003-03-10 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
|
bluechanel
一般會員 發表:7 回覆:15 積分:4 註冊:2003-03-10 發送簡訊給我 |
|
jessechan
版主 發表:109 回覆:394 積分:254 註冊:2002-04-05 發送簡訊給我 |
BOOL RegisterHotKey
(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code
); 第一個參數為當按下 hotkey 時的處理程式碼所在的 handle,
第二個參數是這個 hotkey 的 ID, 你可以自取, 但注意不要重覆,
第三個參數可設為
MOD_ALT
MOD_CONTROL
MOD_SHIFT Either
的組合, 如果你的 hotkey 是複合鍵, 如 Ctrl-H, 則你必須設定這個 flag,
第四個參數為 hotkey 的 virtual key code, 可參閱 help, 我不多作說明 假設你要把 Ctrl-Alt-H 設為 ID 為 1 的 hotkey 在 Form1 作處理, 則寫成 RegisterHotKey(Form1->Handle, 1, MOD_CONTROL | MOD_ALT, 0x48); 則你的 Form1 的 WindowProc 就可收到 WM_HOTKEY, 它的 WParam 所傳入的值為 ID, 所以你就可以作處理了,
程式結束前記得 UnRegisterHotKey(Form1->Handle,1); 這已經足夠你使用, 除非你要作鍵盤側錄程式, 不然不須用到 hook. Jesse Chan
------
Jesse Chan |
bluechanel
一般會員 發表:7 回覆:15 積分:4 註冊:2003-03-10 發送簡訊給我 |
|
bluechanel
一般會員 發表:7 回覆:15 積分:4 註冊:2003-03-10 發送簡訊給我 |
|
bluechanel
一般會員 發表:7 回覆:15 積分:4 註冊:2003-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |