超时后从Java锁定Windows桌面

Dai*_*tsu 3 java windows timeout lockout

我希望我的Java应用在特定的超时后锁定Windows桌面。我有一个工作正常的计时器,但是我似乎无法执行命令来锁定工作站。

javax.swing.Timer tim = new javax.swing.Timer(1000, new ActionListener() {
   public void actionPerformed(ActionEvent e) {
   System.out.println("CARD NOT PRESENT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
   // LOCK SCREEN
   Runtime rt = Runtime.getRuntime();
   Process pr = rt.exec("%windir%/System32/rundll32.exe user32.dll,LockWorkStation");
   }
});
Run Code Online (Sandbox Code Playgroud)

这有什么错误吗?或者,也许更简单的方法可以做到这一点?

Rom*_*iev 5

尝试绝对位置:

Runtime.getRuntime().exec("C:\\Windows\\System32\\rundll32.exe user32.dll,LockWorkStation");
Run Code Online (Sandbox Code Playgroud)