當前位置:編程學習大全網 - 網站源碼 - 在VC中給沒有DLL的窗體添加全局鉤子。

在VC中給沒有DLL的窗體添加全局鉤子。

全局鉤子必須用DLL導出函數來做!

但是線程鉤子可以在程序中制作!

當全局鉤子被觸發時,系統會去DLL中尋找相關的觸發函數!

而不是查看程序內部!所以如果妳把鉤子函數寫成

在您自己的程序中,只有當您的程序是活動窗口時,才能發送消息。

觸發了!但是如果讓程序失去輸入焦點,鉤子函數就會失效!

我很理解LZ的想法。做全局鉤子的時候不想要DLL庫。我認為

那是很不雅觀的!但Windows就是這麽做的。她成功了!沒有辦法改變!

如果妳想捕捉少量的鍵盤信息,妳可以使用註冊熱鍵的方法!

註冊函數BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,uintvk);

當妳註冊壹個熱鍵,只要熱鍵被觸發,它就會向妳設置的窗口發送消息!

參數:

HWnd是壹個接受熱鍵觸發消息的窗口。

Id:是熱鍵的標識符,為了讓熱鍵不沖突!

FsModifoers是熱鍵控制的壹部分!例如,您希望將熱鍵設置為

ALT+S,那麽fsModifoers就是ALT部分,她總是有三個標識符。

MOD_ALT

調制_移位

模式_贏

Vk是控制鍵以外的壹個鍵!

如果要截取多個控制鍵,比如alt+shift+s fsmodifiers,可以編寫

MOD_ALT|MOD_SHIFT,vk寫成s;

  • 上一篇:為什麽tomcat裏的jar包會和項目的jar包沖突
  • 下一篇:淘寶asp源代碼
  • copyright 2024編程學習大全網