问题:
Java Robot的MousePress()在99%的情况下都能正常工作,但它在Windows 8.1或10的任务管理器上无效(我没有测试过7或更低版本)。
事实上,当选择“任务管理器”窗口时,即使MouseMove()也会失败。
要复制:
代码:
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.MouseEvent;
public class RobotMousePressTest {
public static void main(String[] args) throws AWTException, InterruptedException {
System.out.println("Started. Waiting for sleep to finish.");
Robot r = new Robot();
Thread.sleep(3000);
r.mouseMove(4, 4);
r.mousePress(MouseEvent.getMaskForButton(MouseEvent.BUTTON1));
System.out.println("Click!");
}
}
的的问题:
答案 0 :(得分:1)
在进行了一些挖掘和测试之后,我发现它与Windows的管理员用户有关。任何没有管理员权限的应用程序都无法与具有管理员权限的应用程序进行交互。如果我以管理员身份运行应用程序,即使选择了任务管理器,代码也会正确执行。
到目前为止,我找不到其他工作方式。