寻找一种编程语言来自动化另一个Windows应用程序



我必须定期处理专有的Windows应用程序。任务始终相同(打开程序,单击点 1,单击点 2,单击"3...5"),然后等待显示"完成"的对话框。之后,必须再次关闭应用程序,重新打开以再次启动任务。清洗,冲洗,重复。

我尝试过使用鼠标点击器应用程序,但它们不能,它们的效果不太好。特别是,知道应用程序何时完成,并且在发生差事点击时不够聪明。无论如何,我想创建自己的应用程序来控制这个应用程序。有没有一种编程语言特别擅长控制其他专有应用程序?

Java有Robot类。请参阅下面的示例用法。

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class Main {
    private static final TimeUnit DAYS = TimeUnit.DAYS;
    private final ScheduledExecutorService scheduler =
             Executors.newScheduledThreadPool(1);
    public void doAutomation() {
             final Runnable auto = new Runnable() {
               public void run() {
                 try {
                        Robot robot = new Robot();
                        robot.delay(1000);// Delay 1 second. (1000ms)
                        robot.keyPress(KeyEvent.VK_SPACE);
                        robot.mouseMove(0, 0);//Move mouse to 0,0 (Top left corner)(x,y)
                        robot.delay(15);//Delay 15 ms
                        robot.mousePress(MouseEvent.BUTTON1);
                    } catch (AWTException e) {
                        e.printStackTrace();
                    }
                }
               };
             final ScheduledFuture<?> autoHandler =
               scheduler.scheduleAtFixedRate(auto, 0, 1, DAYS);//Perform task once per day.
    }
    public static final void main(String[] data) {
        Main m = new Main();
        m.doAutomation();
    }
}

相关内容

最新更新