首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

希望能够有一个鼠标钩子的例子,见下,是csdn上给出的,但是照着他的代码打有9个异常,那个高手帮小弟我改正一下多谢

2012-02-02 
希望能够有一个鼠标钩子的例子,见下,是csdn上给出的,但是照着他的代码打有9个错误,那个高手帮我改正一下谢

希望能够有一个鼠标钩子的例子,见下,是csdn上给出的,但是照着他的代码打有9个错误,那个高手帮我改正一下谢谢。
APPWizard(EXE)生成一个不使用文档/视结构的单文档应用mousehook。打开childview.cpp文件,加入全局变量: 
HHOOK hHook;//鼠标钩子句柄 
CPoint point;//鼠标位置信息 
CChildView *pView; 
// 鼠标钩子函数用到的输出窗口指针 

  在CChildView::OnPaint()添加如下代码: 
CPaintDC dc(this); 
char str[256]; 
sprintf(str,“x=%d,y=%d",point.x,point.y); 
//构造字符串 
dc.TextOut(0,0,str); //显示字符串 

  (2)childview.cpp文件中定义全局的鼠标钩子函数。 
LRESULT CALLBACK MouseProc 
(int nCode, WPARAM wParam, LPARAM lParam) 
{//是鼠标移动消息 
if(wParam==WM_MOUSEMOVE||wParam 
==WM_NCMOUSEMOVE) 

point=((MOUSEHOOKSTRUCT *)lParam)->pt; 
//取鼠标信息 
pView->Invalidate(); //窗口重画 

return CallNextHookEx(hHook,nCode,wParam,lParam); 
//传递钩子信息 

(3)CChildView类的构造函数中安装钩子。 
CChildView::CChildView() 

pView=this;//获得输出窗口指针 
hHook=SetWindowsHookEx(WH_MOUSE,MouseProc,0,GetCurrentThreadId()); 

(4)CChildView类的析构函数中卸载钩子。 
CChildView::~CChildView() 

if(hHook) 
UnhookWindowsHookEx(hHook); 

见上,http://dev.csdn.net/article/21/21362.shtm,是csdn上给出的,但是照着他的代码打有9个错误,那个高手帮我改正一下,把可运行的代码发给我,谢谢。
learnmfc@163.com



[解决办法]
f(wParam==WM_MOUSEMOVE ¦ &brvbarwParam ==WM_NCMOUSEMOVE)
-----------------------------------
brvbarwParam 没定义,应该是lParam,另外, | 应该为 ||

其它的都是符号错误

我给你发过去





热点排行