2012-02-26 52 views
-1

我正在加載第三方DLL,有時它們會打開MessageBox窗口來停止應用程序的流動,我希望能夠檢測何時發生這種事情。檢測由第三方DLL創建的消息框

我試圖使用SetWindowsHookExWH_CBT但我的回調沒有被調用。

我試着打電話這樣說:

SetWindowsHookEx (WH_CBT, myCallback, NULL, 0); 

但它並沒有奏效。

什麼應該是正確的要求這個功能?

+2

你不會用NULL和0傳遞給函數注入一個鉤。改進你的錯誤處理,不要忽略api函數的返回值。 – 2012-02-26 16:11:20

+0

我也試過SetWindowsHookEx(WH_CBT,myCallback,GetModuleHandle(0),GetCurrentThreadId()),但無濟於事。 – kambi 2012-02-26 16:23:14

+2

你只是隨機嘗試的東西。像WH_CBT這樣的全局鉤子需要一個可以注入其他進程的DLL。這絕不會是GetModuleHandle(0),你不能注入你自己的EXE。訪問谷歌點擊,這是很好的覆蓋。 – 2012-02-26 16:33:07

回答