今天在写一个工具软件,使用到一个系统API: mouse_event()
代码如下:
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, x2, y2, 0, 0); //移动到指定位置
可是我发现一个问题,当软件窗口处于激活状态的时候,mouse_event 能正常的执行。
当软件窗口处于最小化的时候,mouse_event 就没有任何效果了。
为了这个问题,我花了近3个小时,也没检查出问题出在哪?
最后试着把360安全管家退出一下,再次运行程序,mouse_event() 竟然一切都恢复正常了。
我又启动了360,再试,mouse_event()又不行了。
最后结论:
360为了安全起见,当程序窗口处于非激活状态时,mouse_event() 会被 360 屏蔽。
如果360能在屏蔽 mouse_event 的时候,给个安全提示,就好了,这样我就不用浪费这么多时间了。