乙個很弱智的鉤子

2021-06-15 22:16:34 字數 1193 閱讀 3374

目標:希望能將dll注入所有的gui中,當特定的gui被啟用的時候,dll中的對話方塊資源顯示

這個東西能用在外掛程式這塊,遊戲中掛上自己的框框,相當滴爽。

實現:引擎呼叫dll中的注入函式,這樣全域性注入的時候,相當滴好做。曾試過在exe模組中實現全域性鉤子,鉤子中的很多變數不能相互傳遞,達不到全域性鉤子的那種效果。如:

hhook g_hhook;

hinstance g_hinstdll; 

lresult winapi keyboardproc(int ncode,wparam wparam,lparam lparam)

return(callnexthookex( g_hhook, ncode, wparam, lparam )); 

}bool installhook()//輸出安裝空的鉤子函式

return(true);

}bool uninstallhook()//輸出御在鉤子函式

我試過這樣在exe中新增**,

在dll2中簡直不知道怎麼寫。呵呵!

最後實行成這種方式:

dll中:

lresult callback msgproc(

int code,       // hook code

wparam wparam,  

lparam lparam   // keystroke-message information

)void sethook()

exe中這樣呼叫:

hinstance hmod;

hmod=::getmodulehandle("hook");

if(hmod==null)

//testdll lpproc;

typedef void (*phook)();

phook pproc=(phook)getprocaddress(hmod,"sethook");

pproc();

很ok滴。

但我在試dll時候,忘記了一句setwindowshookex(wh_getmessage,msgproc,getmodulehandle("hook"),0);

getmodulehandle("hook")在更改dll名字的時候忘記改了,搞了乙個下午加乙個晚上,我還納悶為什麼只有叫hook.dll才有效。

昨天也許是狀態不好,碰到這種事情就應該放在一邊,浪費那麼長時間。哎!發覺自己狀態一直不是怎麼好。

發現DELL筆記本乙個很弱智的問題

今天終於發現其實是自己搞錯了,之前筆記本上一直接著乙個無線滑鼠的usb的那個小接頭,沒怎麼在意。就是因為那個東西,所以觸控板一直有效。把那個去掉後,就正常了。接上滑鼠後,觸控板就自動禁用了,滑鼠去掉,觸控板自動生效。抱歉各位!以下內容保留,也為其他人提個醒。以前用聯想的筆記本,最近聯想筆記本壞了,用...

乙個小鉤子程式

include include include hook.h hinstance hinst hhook hhook bool winapi dllmain hinstance hinstdll,dword dwreason,lpvoid lpreserved return true bool dl...

一些弱智的問題

private slots 為什麼定義為私有?這個問題本身就有問t http www.ibm.com developerworks cn linux guitoolkit qt signal slot 槽 槽是普通的c 成員函式,可以被正常呼叫,它們唯一的特殊性就是很多訊號可以與其相關聯。當與其關聯...