2

我一直在努力解决这个问题,想知道您是否可以提供帮助。

使用 AppleScript,系统事件应用程序中提供了两个隐藏的功能,可让您按下一个键(在完成其他操作(如单击)时按住它),然后再次将键恢复。

例如,请参阅此处的答案Applescript 运行检测显示器,其中在执行单击时使用“向上键”和“向下键”。

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

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")

有任何想法吗?

谢谢!
福蒂斯

4

2 回答 2

5

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

您可以使用特殊字符串 eCmd(命令)、eOpt(选项)和 eCnt(控制)来完成 SystemEvents.h 中定义的操作。

因此,以下代码有效!

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

希望这可以帮助那里的人。

于 2015-08-16T01:16:13.143 回答
0

关于什么:

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

祝你有美好的一天,迈克尔/汉堡

于 2015-08-17T07:40:09.697 回答