以下 Java 代码在 Windows XP 上运行时会锁定桌面,但在 Vista 或 Windows 7 上运行时不会锁定桌面。如果有人能告诉我如何仅使用 Java 使其在 Vista 和 Windows 7 中运行,我将不胜感激。
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class Roboto {
//Lock windows desktop using "WinKey + L"
public static void main(String[] args) {
try {
Robot r = new Robot();
r.keyPress(KeyEvent.VK_WINDOWS);
r.keyPress(KeyEvent.VK_L);
r.keyRelease(KeyEvent.VK_L);
r.keyRelease(KeyEvent.VK_WINDOWS);
} catch (AWTException e) {
e.printStackTrace();
}
}
}
最佳答案
听起来 Vista 的 UAC 正在阻止 JVM 将事件馈送到操作系统事件队列。既然你没有提到它,我假设你没有看到异常。您可以尝试以管理员权限运行它吗?
关于java - 机器人Java类 XP vs. Vista Win7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3731306/