
“请问如何在Onarea中调用OnLButtonDown”
这句话的思路有问题吧,直接在OnLButtonDown事件里边判断是否点到该点的位置,并记下次数就可以吧。
如果想在进入Onarea
后再判断,那么在Onarea
里将一个控制变量赋为真,OnLButtonDown事件里接到该变量为真后,开始判断鼠标点击。
你需要截获 按钮 HWND 的 WM_LBUTTONDOWN 函数。
好几种方法实现。
比较简单的一种:
采用SetWindowLong子类化该HWND,即设置该窗口的消息处理函数,然后判断消息是不是按钮被按下了,做好处理之后再去调用老的消息处理函数。
但是,每个进程都有各自的私有4G空间,而你要截获的是远进程窗口消息,因此,你不能简单的直接使用SetWindowLong,因为你传过去的参数,对于远进程来说,是没有意义的。
因此,第一步,你需要将实现写入DLL,然后将DLL注入远进程。(注,DLL的DLLMain函数中实现SetWindowLong等实现)。
这种方法要比全局钩子的方法效率高。而且也很容易写。
VC下:先映射ON_WM_LBUTTONDOWN消息,会产生函数void OnLButtonDown(UINT nFlags, CPoint point) ,point即是点击位置
以上就是关于vc怎样在函数中响应鼠标点击的消息全部的内容,包括:vc怎样在函数中响应鼠标点击的消息、VC++ Hook截取鼠标点击窗口消息的问题!全局钩子,高手进!、VC下,C语言如何获取鼠标单击位置高手请进。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)