首页
社区
课程
招聘
[旧帖] [求助]在DLL里SetWindowHookEx回调函数不成功 0.00雪花
发表于: 2013-9-12 17:47 1973

[旧帖] [求助]在DLL里SetWindowHookEx回调函数不成功 0.00雪花

2013-9-12 17:47
1973
在DLL 里创建了一个新线程  然后在创建的新线程里SetWindowHookEx函数设置了一个鼠标钩子 成功了.. 但是为什么 钩子的回调函数并不执行呢? 求助高手帮忙科谱一下

HHOOK hMouse = NULL;
///////////////////////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK CallWndRetProc( int nCode,WPARAM wParam,LPARAM lParam)
{
        DbgPrintffAisn("[SetWindowHookEx] SetWindowHookEx OK");
        if (wParam == WM_LBUTTONDOWN)
        {
                DbgPrintffAisn("[鼠标左键盘按下]");
        }
        return CallNextHookEx(hMouse, nCode, wParam, lParam);
}
///////////////////////////////////////////////////////////////////////////////////////////
DWORD CALLBACK _WorkThread(LPVOID lpParam)
{

        DWORD dwThreadID = NULL;
        HMODULE hModule = NULL;

        hModule = GetModuleHandle(NULL);
        dwThreadID = GetCurrentProcessId();

        hMouse = SetWindowsHookEx(WH_MOUSE,CallWndRetProc,hModule,0);

        DbgPrintffAisn("[hModule] hModule is: 0x%x \n ",hModule);
        if (hMouse == NULL)
        {
                DbgPrintffAisn("[SetWindowHookEx] SetWindowHookEx == NULL");
                goto Exit0;
        }
return 0;
}

在线程的回调函数里DbgPrintffAisn("[SetWindowHookEx] SetWindowHookEx OK");没有 打印出来  就是说 回调函数并没有执行啊....

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我试过可以的,在DLLMain()里面执行的。
2013-9-12 17:57
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我在DllMain里SetWindowHookEx 回调函数 也不执行
在DllMain里创建一个线程 在线程里SetWindowHookEx  回调函数 也不执行.. 不知道什么原因啊..
2013-9-12 18:07
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
学习一下
2013-9-12 18:09
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
SetWindowsHookEx是成功的?
2013-9-12 19:28
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
SetWindowsHookEx 必须是成功的了
2013-9-12 21:34
0
游客
登录 | 注册 方可回帖
返回
//