vs2019键盘钩子_注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死…

vs2019键盘钩子_注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死…开发环境:vs2010C#WinFormwindows7x86下载Demo我的问题可以一句话描述:注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死找到问题的关键点我也花了不少功夫,一点点地测试出来的。最后才发现是安装全局鼠标hook造成的。我现在把他单独拿出来作为demo,寻找解决办法.UserActivityHook这个类里面506行是执行安装全局hook…

开发环境:vs2010 C# WinForm windows7 x86    下载Demo

我的问题可以一句话描述:

注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死

找到问题的关键点我也花了不少功夫,一点点地测试出来的。最后才发现是安装全局鼠标hook造成的。我现在把他单独拿出来作为demo,寻找解决办法.

UserActivityHook 这个类里面 506 行是执行安装全局hook的方法,其中第一个参数表示是否安装全局鼠标hook,第二个则是键盘的,如果只安装键盘不安装鼠标的则不会出现这个问题。

我在网站找了好多个论坛和博客,也有遇到类似问题的,有的是易语言,有的是.net,最后都是没解决。参考这个贴子 不过他是vc,也会出现这个问题,我想这是不是windows api的一个bug啊?

我想这个问题应该不是没有办法解决只是我太菜了,而且大家手头上没有demo,没有办法测试。所以这次我就把这个demo发上来,希望.net方面的高手能帮我测试一下,找出问题并解决它。毕竟这是个很典型的问题,小弟在此谢过!(我有200个园豆,就全部拿出来吧!)

有人说要添加消息循环,事实上不添加消息循环,hook根本没办法安装成功,我试过,所以不是这个问题。有人说是要新建线程,我也新建线程了,但问题依旧。其实我不是很懂消息循环,随便猜测的是不是消息循环就是在ui线程上工作啊,所以新建线程也没用,还是UI线程。

奇怪又有趣的是,如果不用鼠标用快捷键,按alt+空格 然后再按x ,这样最大化就不会卡。晕。。。

这个问题我也同时在CSDN论坛上提问,看看能不能解决吧!

刚才在百度知道上提问,发现百度知道也有人提问过这个问题:

不过他这是vc 我这是c#, 看来这应该不是.net本身的问题,而是windows api的问题!!是吗?

重大发现:我快疯了,发现了更奇怪的问题!

看到回帖好几位朋友说测试没有毛病,我就多找了几台同事电脑测试,有的行有的不行。最后终于发现规律:

1、凡是采用windows 经典主题的就没问题;

2、凡是不采用经典主题的都会多少出现卡的情况,winxp 卡的时候短点儿,但也会卡,win7非经典主题下卡的最为严重!这是什么毛病呢?

结贴说明:

这个问题最后还是没解决,等了两天也再没有新的答案。估计非常棘手,恐怕要微软的工程师才能解决。所以结贴吧,毕竟 Launcher 和 狼Robot 帮助我不停地测试。而且 Launcher 还教我一些技巧。在此对二位表示感谢。

最后做个问题总结:

还是用一句话吧:采用windows非经典主题时注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死。

这应该是一个系统的bug或者api的bug,毕竟从互联网上可以看到VC、.net 还有易语言等多种开发环境都出现过这个问题,没有一个解决的。虽然我很菜,但是会继续关注解决办法,毕竟是一个不小的问题.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35584.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注