SendInput(Mouse(MOUSEEVENTF_RIGHTDOWN MOUSEEVENTF_RIGHTUP))在命运方舟中无效?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SendInput(Mouse(MOUSEEVENTF_RIGHTDOWN MOUSEEVENTF_RIGHTUP))在命运方舟中无效?相关的知识,希望对你有一定的参考价值。
最近在学ai,想训练一个能在命运方舟游戏中自动寻路的自监督学习模型。其他工作全完成了,结果想在游戏中模拟鼠标右键出了问题。
目前的现象是,不管是使用SendInput还是mouse_event。在游戏中均只能起效一次,只有再次真实点击了一次鼠标右键后,又再能起效一次。
个人猜测,是否命运方舟游戏在鼠标右键的命令中添加了特殊的指令?
不知道有没有大神对这方面有研究。
命运方舟应该是对鼠标驱动加了一个过滤器,当鼠标驱动没有消息但是游戏实际收到消息时,就停止游戏接收命令,直到下一次真实的鼠标点击,让他收到了过滤器过来的消息。再次放开限制。导致了目前的现象。
在drivers目录里找到了一个mracdrv1.sys文件,而游戏开启时winobj查看device会多出一个mracdrv。感觉这个就是多出的驱动。之后尝试反编译
关于mouse_event和sendinput无效的原因
关于mouse_event和sendinput无效的原因
SetCursorPos 有用,
于mouse_event和sendinput 无用, 导致问题不清晰, 原来是我换了杀毒软件, 360搞的。
http://au2008127104.blog.163.com/blog/static/140871130201227478855/
今天用mouse_event写了个程序发送模拟鼠标消息,结果向任意程序发送消息无问题,但是向桌面、任务栏、我的电脑子文件夹还有360安全卫士发送就无效。解决方法很简单,打开360->木马防火墙->系统防护->驱动防护(防止木马加载驱动获得系统权限)点关闭就行。在自己写软件的时候,多半是没有数字签名的,这时mouse_event就会失灵。坑爹坑爹,花了爷我好几天,竟然是360这扑街高的怪。
以上是关于SendInput(Mouse(MOUSEEVENTF_RIGHTDOWN MOUSEEVENTF_RIGHTUP))在命运方舟中无效?的主要内容,如果未能解决你的问题,请参考以下文章