键盘/鼠标机器人在专注于某个应用程序时无法正常工作

时间:2013-10-21 16:10:44

标签: java security awtrobot

因此,我尝试使用机器人(按键或鼠标)来模拟应用程序的某些测试。但是,这个程序不允许我这样做,我很确定它是一个安全功能。我正在使用的应用程序是TEMS Investigation,我正在尝试模拟记录并停止录制我自己的一些自动化测试。我用来自动化这些测试的程序无法访问TEMS,所以没有机器人我就无法做到这一点。所以我的问题是:

1)如何覆盖妨碍我使用机器人的任何内容 2)如果我这样做会被视为非法吗?我不需要违反任何法律......我只是想完成我的测试!洛尔

我甚至无法运行一些简单的事情:

Robot r = new Robot();

r.keyPress(KeyEvent.VK_F2);
r.keyRelease(KeyEvent.VK_F2);

它会运行,因为我已经下载了一些软件来告诉我我正在按什么键....当TEMS应用程序有焦点时,它不会被识别出来。

  

更新:我发现使用记事本我不能使用任何键(如“ALT +   F“)执行任何菜单选项。它甚至没有拉出”文件“   菜单。我能够模拟文本输入,而不是上下文菜单。   真正奇怪的是,我甚至不能在TEMS时使用mouseMove()   有重点

1 个答案:

答案 0 :(得分:0)

听起来您的运行时不了解TEMS应用程序。如果你在java代码中启动它应该可以工作。例如以下内容:

Runtime.getRuntime().exec("notepad");
robot.keyPress(KeyEvent.VK_J);

将调出记事本并输入字母J.尝试执行TEMS然后发送按键。

不,这不是非法的。

更新:

要在记事本中打开文件菜单,您可以执行以下操作:

robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F);

pressed之前,这两个键必须robot.keyRelease