WM_LBUTTONUP响应问题
kelvin 发布于 2022-07-03

在VC++中可以用HOOK技术获取鼠标键盘的响应消息,鼠标的有

WM_LBUTTONDOWN,左键按下时响应,

WM_RBUTTONDOWN,右键按下时响应,

WM_LBUTTONUP,左键松开时响应,

WM_RBUTTONUP,右键松开时响应,

在找到的很多捕获鼠标键盘操作的程序中,基本都是开启对应的线程处理这些消息,在线程处理函数中注册回调函数,进行消息队列循环

但是测试过程中发现都出现了WM_LBUTTONUP可能没有捕获到,如果按下左键然后松开,WM_LBUTTONDOWN捕获到了,然后鼠标移动很卡,除非按下鼠标右键,这个时候反而捕获到WM_LBUTTONUP,同时也捕获到WM_RBUTTONDOWN消息,然后鼠标移动又不卡了。等于如果没有按下鼠标右键,之前按下的鼠标左键好像一直按着,但是明明已经是松开了,如果只是按下鼠标右键后松开,这个时候WM_RBUTTONDOWN响应之后立马就响应WM_RBUTTONUP,也许还得做其他的处理。

kelvin
关注 私信
文章
92
关注
0
粉丝
0