每次使用Robot移动鼠标时,都会重置windows鼠标的速度。 这真是烦人的处理,我想知道如果有人知道如何解决这个问题。 这里基本上是我搞乱的代码:
Robot robot = new Robot(); robot.mouseMove(10,1070); robot.delay(300); robot.mousepress(inputEvent.button1_MASK); robot.mouseRelease(inputEvent.button1_MASK); robot.delay(300); robottype("notepad"); robot.keyPress(KeyEvent.VK_ENTER); robot.keyrelease(KeyEvent.VK_ENTER); robot.delay(400); robottype("I am writing this.");
这样做只需单击开始button,键入“记事本”,打开记事本,然后键入“我正在写这个”。
robottype()只是一个快捷的函数,它将string转换为一系列键盘按下/释放。
在string中查找date和时间,并使用windows或cmd中的sed重新格式化删除空格
连接USB设备时启动我的应用程序
有没有免费的库,允许我在位图上使用卷积filter?
如何在windows上运行点子?
需要将maven的$ {project.basedir}从单个反斜杠转换为double
在windowsregistry中的MIMEtypes
如何在windows上运行Slack botkit?
Python的ctypes和没有足够的参数(4字节丢失)
SWT表格标题中的&符号的解决方法
在R中查找windows用户名
这似乎是一个windows错误,因为没有做任何事情本质上改变了鼠标的速度。 看来你可能会不幸运…
不是一个修复,而是一个解决方法:
使用JNA,您可以获取/设置鼠标速度(确认您在windows上运行)。 当程序启动时,请阅读鼠标速度。 然后在每个robot.mouseMove()恢复该值。
你需要添加jna.jar和jna.jar jna-platform.jar ,可以在这里找到: https : //github.com/java-native-access/jna/tree/master/dist
interface User32 extends com.sun.jna.platform.win32.User32 { User32 INSTANCE = (User32) Native.loadlibrary(User32.class,W32APIOptions.DEFAulT_OPTIONS); boolean SystemParametersInfo( int uiAction,int uiParam,Object pvParam,// Pointer or int int fWinIni ); } public static voID main(String[] args) throws AWTException { Pointer mouseSpeedPtr = new Memory(4); Integer mouseSpeed = User32.INSTANCE.SystemParametersInfo(0x0070,mouseSpeedPtr,0) ? mouseSpeedPtr.getInt(0) : null; //[...] rob.mouseMove(10,1070); if (mouseSpeed != null) { User32.INSTANCE.SystemParametersInfo(0x0071,mouseSpeed,0x02); } //[...] }
总结以上是内存溢出为你收集整理的Java Awt Robot改变Windows鼠标速度全部内容,希望文章能够帮你解决Java Awt Robot改变Windows鼠标速度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)