机器人Java类XP与Vista Win7

时间:2010-09-16 22:22:10

标签: java windows automation

在Windows XP上运行时,以下Java代码将锁定桌面,但是在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();
  }
 }
}

1 个答案:

答案 0 :(得分:1)

听起来像Vista的UAC阻止JVM将事件送入OS事件队列。既然你没有提到它,我认为你没有看到异常。您可以尝试使用管理员权限运行吗?