public class Robot {
public static void main(String[] args) {
try {
while (true) {
// 判断是不是到点了,是否该发消息了
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");
String now = formatter.format(new Date());
if ("21:21".equals(now) && true) {
java.awt.Robot robot = new java.awt.Robot();
robot.delay(1000);//延时
for (int j = 0; j <= 10; j++) {
robot.mouseMove(520, 206); //鼠标移动到指定的坐标
}
robot.delay(1000);//延时
//鼠标左键点击(按下和抬起一起使用)
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK); //鼠标左键按下
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK); //鼠标左键抬起
robot.delay(500);
// 把文本设置到剪贴板(复制)
setClipboardString("517应到6人,实到5人,李洋请假回家一直未归。");
robot.delay(200);
//粘贴操作ctrl+v
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(1000);
//发送
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(1000);
//避免重复发送
Thread.sleep(1000*60);
}
}
}catch (Exception e) {
e.printStackTrace();
}
}
public static void setClipboardString(String text) {
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable trans = new StringSelection(text);
clipboard.setContents(trans, null);
}
}
发现问题
命令行编译:javac Robot.java
编译结果:Java “错误:编码GBK 的不可映射字符”
这是Java中典型的中文转码问题
打开.java文件,发现编码格式是UTF-8
解决问题 - 方法一
命令行编译:javac -encoding UTF-8 Robot.java
命令行运行:java Robot
将文件另存为ANSI编码格式
此时即可正常编译-运行



