Swift 5-MacOS App-与其他应用程序互动

问题描述

我正在尝试制作一个小型机器人,该机器人需要获取屏幕上特定位置的颜色,单击/双击并使用键盘上的字母。

由于我很懒,所以该机器人只会帮助我节省启动游戏的时间。 例如,我启动了机器人程序(带有一个小窗口,带有一个标有“ go”或类似名称的按钮,以及其他可以选择我想要的游戏的按钮),它双击了正确图标的位置,然后双击检测到精确的像素组合,它将单击正确的位置并输入我的登录名/密码并启动游戏。

我的问题是: 是否可以使用Xcode Swift5 MacOs应用程序执行此操作?

谢谢您的时间!

解决方法

有可能。

但这不是最简单的事情,需要大量的设置和时间。

我想您还没有使用Swift或Xcode,所以我不建议您为这样一个简单的任务学习两者。

相反,请查看Mac上已安装的应用程序“脚本编辑器”。它使您可以用Applescript编写代码(比起代码,它更具可读性和“英语风格”,并且可以为您提供所需的工具。

在这里您可以双击一个简单的代码:

tell application "System Events"
  click at {10,10}
  delay 0.1
  click at {10,10}
end tell

这里是一个按键

tell application "System Events"
    delay 0.5
    keystroke space using command down
end tell

顺便说一句keystroke也可以用来键入整个单词和句子。

在这里通过Google进行快速搜索,您还可以获得在给定的x,y处获取十六进制颜色的代码:

do shell script "screencapture -R{x},{y},1,1 -t bmp $TMPDIR/test.bmp && \
                 xxd -p -l 3 -s 54 $TMPDIR/test.bmp | \
                 sed 's/\\(..\\)\\(..\\)\\(..\\)/\\3\\2\\1/'"

,

最后,我选择打开Windows并在Visual Studio 2019中使用.net。这非常简单。