SetWindowsHookEx失败ERROR_INVALID_PARAMETER

时间:2017-09-29 13:16:29

标签: c++ hook createprocess setwindowshookex

我想抓住我刚刚创建的特定流程主线程的CBT通知:

STARTUPINFO startupInformation;
PROCESS_INFORMATION processInformation;
CreateProcess(strWantedEXEPath,
    NULL,
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    NULL,
    &startupInformation,
    &processInformation);

然后如果创作成功,我试着注册:

SetWindowsHookEx(WH_CBT, CBTProc, GetCurrentModule(), processInformation.dwThreadId);

哪个失败,错误代码为ERROR_INVALID_PARAMETER

然而,如果我尝试注册所有线程:

SetWindowsHookEx(WH_CBT, CBTProc, GetCurrentModule(), 0);

它将工作并从创建的进程主线程捕获通知,但我不想使用它,因为它还将捕获来自其他进程的通知(并注入我认为的dll)。 那么有关这个问题的任何提示吗?

0 个答案:

没有答案