
有谁在win7下做过全局的键盘钩子吗? 为什么我建立的动态链接库被加载后按下任何键调用的进程立马破溃
代码在这里:#pragmadata_seg("hookdata")HHOOKoldHook=0;#pragmadata_seg()#pragmacomment(linke...
代码在这里:
#pragma data_seg("hookdata")
HHOOK oldHook = 0;
#pragma data_seg()
#pragma comment(linker,"/SECTION:hookdata,RWS")
HINSTANCE hInst;
BOOL WINAPI DllMain( HINSTANCE hInstance,
ULONG ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hInst = hInstance;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void InstallHook()
{
//SetPrivileges(TRUE);
oldHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)KeyBoardProc, hInst, 0);
if (!oldHook)
{
MessageBox(NULL, TEXT("Fail to Set Hook"), NULL, MB_OK);
}
else
MessageBox(NULL, TEXT("Success to Set Hook"), NULL, MB_OK);
}
LRESULT CALLBACK KeyBoardProc(int nCode, WPARAM wParam, LPARAM, LPARAM lParam)
{
return CallNextHookEx(oldHook, nCode, wParam, lParam);
}
void EndHook(void)
{
UnhookWindowsHookEx(oldHook);
}
忘记说了 环境是win7 32位的 展开
#pragma data_seg("hookdata")
HHOOK oldHook = 0;
#pragma data_seg()
#pragma comment(linker,"/SECTION:hookdata,RWS")
HINSTANCE hInst;
BOOL WINAPI DllMain( HINSTANCE hInstance,
ULONG ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hInst = hInstance;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void InstallHook()
{
//SetPrivileges(TRUE);
oldHook = SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)KeyBoardProc, hInst, 0);
if (!oldHook)
{
MessageBox(NULL, TEXT("Fail to Set Hook"), NULL, MB_OK);
}
else
MessageBox(NULL, TEXT("Success to Set Hook"), NULL, MB_OK);
}
LRESULT CALLBACK KeyBoardProc(int nCode, WPARAM wParam, LPARAM, LPARAM lParam)
{
return CallNextHookEx(oldHook, nCode, wParam, lParam);
}
void EndHook(void)
{
UnhookWindowsHookEx(oldHook);
}
忘记说了 环境是win7 32位的 展开
展开全部
你是怎么用调用 这个DLL的?
希望你不是在控制台来调用 的。。。
我刚试了下,没发现什么问题。改成了动态调用。非静态链接...
希望你不是在控制台来调用 的。。。
我刚试了下,没发现什么问题。改成了动态调用。非静态链接...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询