跳转到内容

AppleScript 编程/系统事件

来自维基教科书,开放的书籍,用于开放的世界

System Events 是 AppleScript 可以用到的众多功能之一。要使用 System Event 应用程序,您首先需要向其发送 "tell" 命令。

 tell application "System Events"
   -- add code here.
 end tell

这将指示 AppleScript 执行与 System Events 程序相关的命令。例如,命令

 keystroke "e"

将在当前应用程序中键入字母 "e"。

这是一个简单的程序

tell application "TextEdit"
	activate
	make new document
end tell
tell application "System Events"
	keystroke "Support Wikibooks!"
end tell

它将打开 TextEdit 应用程序,启动一个新文档,并键入短语 "Support Wikibooks!"。

您还可以使用 keystroke tab(注意没有引号)键入制表符,以及 keystroke return 来换行。

tell application "TextEdit"
	activate
	make new document
end tell
tell application "System Events"
	keystroke "Support Wikibooks!"
	keystroke return
	keystroke "by donating!"
end tell

这将创建一个包含 "Support Wikibooks!" 的新文档,并在另一行上显示 "by donating"。

现在您可能想知道,如何执行像 command+q 这样的组合键(适用于其他修饰键,如 option 和 control)?

组合键是由三行代码组成的,包括

key down {command}
keystroke "q"
key up {command}

您还可以使用 "key down" 和 "key up" 的增强功能同时按下多个键,但要用逗号隔开各个键。

这是一个打开 TextEdit 应用程序,然后使用 command+q 退出应用程序的程序。

tell application "TextEdit"
	activate
end tell

delay 3.0

tell application "System Events"
	key down {command}
	keystroke "q"
	key up {command}
end tell

您也可以使用单行命令来执行键击,例如

tell application "System Events" to keystroke "c" using command down

这将在大多数 Mac 应用程序中调用 "复制" 命令。

也可以像这样在一行中使用组合键

keystroke "h" using {command down, shift down}
下一页: Shell 编程 | 上一页: 编写其他应用程序的脚本
首页: AppleScript 编程
华夏公益教科书