使用JXA

时间:2015-08-15 05:31:28

标签: jxa

我一直试图弄清楚这一段时间,并且想知道你是否可以提供帮助。

使用AppleScript,系统事件应用程序中有两个隐藏功能,允许您按下按键(在执行其他操作时保持按下状态,如点击完成),然后再次重新启动按键。

e.g。在这里查看答案Applescript to run Detect Displays,在执行点击时使用“按键”和“按键”。

但是为了这个例子,让我们使用一些非常简单的东西,一个保存快捷方式。

AppleScript看起来像这样:

tell application "System Events"
    key down command
    keystroke "s"
    key up command
end tell

我在JXA中得到的最接近的如下,但无论我传递给keyDown,它都会发送字母“a”:

events = Application("System Events")
events.keyDown("command")
events.keystroke("s")
events.keyUp("command")

有什么想法吗?

谢谢!
Fotis

2 个答案:

答案 0 :(得分:4)

好的,解决方案很难找到,但我已经知道了:)

您可以使用特殊字符串eCmd(command),eOpt(option)和eCnt(control)来完成SystemEvents.h中定义的操作。

因此,以下代码有效!

events = Application("System Events")
events.keyDown("eCmd")
events.keystroke("s")
events.keyUp("eCmd")

希望这可以帮助那些人。

答案 1 :(得分:0)

怎么样:

events = Application("System Events")
events.keystroke("s", {
    using:"command down"
});

祝你有个美好的一天,Michael / Hamburg