經過試驗,代碼如下:
/**
* 通信 - 打開控制檯程序
* @return
*/
@IgnoreAuth
@PostMapping("/openConsoleExe")
@ResponseBody
public Map<String, Object> openConsoleExe() {
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
Process p = Runtime.getRuntime().exec("E:\\Program Files (x86)\\Tencent\\TIM\\Bin\\QQScLauncher.exe");
p.waitFor();
// 休息5秒鐘
Thread.currentThread().sleep(5000);
Robot robot = new Robot();
//設置Robot產生一個動作後的休眠時間,否則執行過快
robot.setAutoDelay(1000);
//移動鼠標
robot.mouseMove(1200, 575);
// 點擊鼠標左鍵
System.out.println("單擊");
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
resultMap.put("code", true);
resultMap.put("data", "[通信 - 打開控制檯程序成功]!");
} catch (Exception e) {
e.printStackTrace();
resultMap.put("code", false);
resultMap.put("data", "[通信 - 打開控制檯程序失敗]!");
}
return resultMap;
}