经过试验,代码如下:
/**
* 通信 - 打开控制台程序
* @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;
}