易語API監(jiān)視鼠標(biāo)狀態(tài)教學(xué)
調(diào)用API來進(jìn)行監(jiān)視鼠標(biāo)狀態(tài)——判斷鼠標(biāo)哪個(gè)鍵按下與放開
1、新建一個(gè)“易語言”窗口程序
2、API命令可下載易語言API編程助手進(jìn)行查詢
我們需要的API命令有
CallNextHookEx——呼叫下一鉤子
SetWindowsHookExA——安裝系統(tǒng)鉤子
UnhookWindowsHookEx——卸載系統(tǒng)鉤子
不同翻譯的翻譯結(jié)果也不同,大致了解下就可以了
3、還有一個(gè)API命令
GetModuleHandleA——取實(shí)例句柄
用來取窗口句柄的
4、對(duì)了,API的參數(shù)類型要改下,DLL命令如下:
.版本 2 .DLL命令 安裝系統(tǒng)鉤子, 整數(shù)型, "user32.dll", "SetWindowsHookExA", , , SetWindowsHookEx .參數(shù) 鉤子類型, 整數(shù)型, , idHook .參數(shù) 回調(diào)函數(shù)地址, 子程序指針, , lpfn .參數(shù) 實(shí)例句柄, 整數(shù)型, , hmod .參數(shù) 線程ID, 整數(shù)型, , dwThreadId .DLL命令 取實(shí)例句柄, 整數(shù)型, , "GetModuleHandleA", , , .參數(shù) 程序名, 整數(shù)型 .DLL命令 卸載系統(tǒng)鉤子, 整數(shù)型, "user32.dll", "UnhookWindowsHookEx", , , UnhookWindowsHookEx .參數(shù) 鉤子句柄, 整數(shù)型, , hHook .DLL命令 呼叫下一鉤子, 整數(shù)型, "user32.dll", "CallNextHookEx", , , CallNextHookEx .參數(shù) 鉤子句柄, 整數(shù)型, , hHook .參數(shù) 代碼值, 整數(shù)型, , ncode .參數(shù) 附加參數(shù)1, 整數(shù)型, , wParam .參數(shù) 附加參數(shù)2, 整數(shù)型, 傳址, lParam
直接復(fù)制然后粘貼就可以了,系統(tǒng)會(huì)自動(dòng)寫入DLL命令的
5、然后就可以輸入代碼了
變量都是中文的,這樣應(yīng)該就可以明白變量的含義了
代碼如下:
.版本 2 .支持庫 spec .程序集 窗口程序集_啟動(dòng)窗口 .子程序 啟動(dòng)監(jiān)視 鉤子句柄 = 到整數(shù) (安裝系統(tǒng)鉤子 (14, &鉤子處理, 取實(shí)例句柄 (0), 0)) ' 安裝系統(tǒng)鉤子——安裝和卸載和注冊(cè)熱鍵與注銷熱鍵相似的,只是類型不同 .子程序 結(jié)束監(jiān)視 .如果真 (鉤子句柄 ≠ 0) ' 檢測(cè)鉤子句柄——如果不檢測(cè)直接卸載可能會(huì)出現(xiàn)問題 卸載系統(tǒng)鉤子 (鉤子句柄) .如果真結(jié)束 .子程序 鉤子處理, 整數(shù)型 .參數(shù) 代碼值, 整數(shù)型 .參數(shù) 參數(shù)一, 整數(shù)型 .參數(shù) 參數(shù)二, 整數(shù)型 ' 參數(shù)一 也就是 鍵代碼——不過是API里面的,不能直接用 .判斷開始 (參數(shù)一 = 519) ' 鼠標(biāo)中鍵按下的參數(shù) 調(diào)試輸出 (“中鍵按下”) .判斷 (參數(shù)一 = 520) ' 鼠標(biāo)中鍵放開的參數(shù) 調(diào)試輸出 (“中鍵放開”) .判斷 (參數(shù)一 = 513) ' 鼠標(biāo)左鍵按下的參數(shù) 調(diào)試輸出 (“左鍵按下”) .判斷 (參數(shù)一 = 514) ' 鼠標(biāo)左鍵放開的參數(shù) 調(diào)試輸出 (“左鍵放開”) .判斷 (參數(shù)一 = 516) ' 鼠標(biāo)右鍵按下的參數(shù) 調(diào)試輸出 (“右鍵按下”) .判斷 (參數(shù)一 = 517) ' 鼠標(biāo)右鍵放開的參數(shù) 調(diào)試輸出 (“右鍵放開”) .默認(rèn) .判斷結(jié)束 返回 (呼叫下一鉤子 (鉤子句柄, 代碼值, 參數(shù)一, 參數(shù)二)) ' 返回值——用來返回,不然子程序 鉤子處理 沒有返回值 .子程序 __啟動(dòng)窗口_創(chuàng)建完畢 啟動(dòng)監(jiān)視 () ' 調(diào)用子程序 啟動(dòng)監(jiān)視 .子程序 __啟動(dòng)窗口_可否被關(guān)閉, 邏輯型 結(jié)束監(jiān)視 () ' 調(diào)用子程序 結(jié)束監(jiān)視
6、然后F5運(yùn)行看看效果
如果360出現(xiàn)安全警告,直接點(diǎn)擊允許就可以了
剛運(yùn)行的時(shí)候可能會(huì)有點(diǎn)卡,那是在安裝系統(tǒng)鉤子,等會(huì)就不卡了
相關(guān)文章
易語言調(diào)用dll實(shí)現(xiàn)條形碼本地離線識(shí)別的代碼
今天小編就為大家分享一篇關(guān)于易語言實(shí)現(xiàn)條形碼本地離線識(shí)別的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-11-11易語言刪除系統(tǒng)臨時(shí)文件代碼實(shí)操
在本篇內(nèi)容里小編給大家?guī)砹岁P(guān)于易語言刪除系統(tǒng)臨時(shí)文件代碼實(shí)操代碼內(nèi)容,需要的朋友們參考下。2018-11-11