LRESULT CALLBACK HookProc(int,WPARAM,LPARAM);
HINSTANCE hInstance= ;
HWND glhHook=NULL;void CTryHookDlg::OnSethook()
{
glhHook=(HWND)SetWindowsHookEx(WH_KEYBOARD,HookProc, hInstance ,0);
if(glhHook!=NULL) AfxMessageBox("Hook set ok");
}LRESULT CALLBACK HookProc(int nCode,WPARAM wParem,LPARAM lParam)
{
int i=0;
i=nCode;
return CallNextHookEx((HHOOK)glhHook,nCode,wParem,lParam);
}void CTryHookDlg::OnUnhook()
{
BOOL result;
result=UnhookWindowsHookEx((HHOOK)glhHook);
if(result) AfxMessageBox("Hook unstallation ok");
}是不是非得写到DLL里去?
解决方案 »
- 怎么使CDockablePane停靠指定区域???
- 怎么获得网卡MAC地址
- MFC 菜鸟之问——鼠标移动获取坐标和画线问题
- 哪位高手能够把ATL7.1分离出来!重重有分!
- 日志问题
- 调用COM控件的问题(初级问题)
- 我想问一下
- 难道我必须要转行吗?请大家绑我出出主意
- 谁能告诉我一个CS的CDKEY 100分给你
- char[]转换成CString的最简单方法是什么?
- 我在VC6.0环境下,新建了一个“A simple Win32 application"。在其中包含了如下头文件<stdio.h>、<stdlib.h>、<string.h>。为什么头文件
- 请斑竹看过来!!!!!!!!!!CSDN的BUG
LRESULT CALLBACK HookProc(int nCode,WPARAM wParam,LPARAM lParam)
{
LRESULT Result =0;
// LRESULT Result= CallNextHookEx((HHOOK)glhHook,nCode,wParam,lParam); if(nCode==HC_ACTION)
{
AfxMessageBox("Press");
} return Result;
}
这个函数里我不调用LRESULT Result= CallNextHookEx((HHOOK)glhHook,nCode,wParam,lParam);
为什么按键消息还是被传回去了?
为什么按键消息还是被传回去了?不是吧,你不调用这个都可以执行成功?是不是安装的全局钩子?????
如果是的话就要调用,严格上来说,不调用CallNextHookEx()函数也可以,但是会出现一些古怪的问题导至系统死机!!!!!!