低级鼠标钩子怎么钩Xbutton?
我想把鼠标上的前进键替换成键盘上的某个键。
看了下MSDN,低级鼠标钩子传给处理过程的参数不能区分两个Xbutton是按下还是释放。于是我在钩子处理过程里面设置了一个静态变量以标志上一次处理的消息是按下还是释放。如下代码:
static int flag=0;
if(HIWORD(llh->mouseData)==XBUTTON1)
if(flag==0)
{
SendInput(1,&Space,sizeof(INPUT));
flag=1;
}
else
{
SendInput(1,&SpaceUp,sizeof(INPUT));
flag=0;
}
但是以上代码完全不起作用……它还是在按下去的同时在屏幕上输出一个空格字符,释放时再输出一个……
并且还发现,如果不send释放消息的话,并不会像一直按住空格键那样输出很多空格,而是仅仅输出一个就停止了,这是为啥呢?
[解决办法]
没试过你这么来的...替换键人家都是用键盘过滤驱动搞的貌似
低级Hook应该也可以的,拦截这个键,用key_event发送另外一个键值道理上也是可行的