Python中在Mac上有没有sendKey?

20 投票
5 回答
22361 浏览
提问于 2025-04-15 16:12

在Mac 10.6系统中,我想用Python让一个正在运行的应用程序变为不活跃状态,或者把它最小化。

我知道在Windows上可以用sendKey来实现这个功能,那在Mac上该怎么做呢?

5 个回答

6

除了Yinan可以把按键发送到当前正在使用的应用程序之外,你还可以把按键发送到特定的应用程序。你可以像之前一样把下面的内容传给osascript,或者把它保存到一个文件里,然后把这个文件传给osascript。

tell application "Safari"
    activate
    tell application "System Events" to keystroke "r" using {command down}
end tell

这段代码会在把Safari调到最前面后,发送Cmd + r这个组合键。

8

试试appscript,这是一个可以在PyPI上找到的苹果事件桥接工具:

from appscript import app, k
app('System Events').keystroke('N', using=k.command_down)
35

这是我在Stack Overflow上看到的一个不同问题的内容。这个方法对我的问题效果很好。

import os
cmd = """
osascript -e 'tell application "System Events" to keystroke "m" using {command down}' 
"""
# minimize active window
os.system(cmd)

撰写回答