Trong máy Mac 10.6, tôi muốn làm cho một ứng dụng đang hoạt động trở nên không hoạt động hoặc giảm thiểu bằng PythonCó một sendKey cho Mac bằng Python không?
Tôi biết tôi có thể sử dụng sendKey trong Windows bằng Python, vậy còn Mac thì sao?
Trong máy Mac 10.6, tôi muốn làm cho một ứng dụng đang hoạt động trở nên không hoạt động hoặc giảm thiểu bằng PythonCó một sendKey cho Mac bằng Python không?
Tôi biết tôi có thể sử dụng sendKey trong Windows bằng Python, vậy còn Mac thì sao?
Dưới đây là những gì tôi tìm thấy từ một câu hỏi khác trên Stack Overflow. Nó hoạt động khá tốt cho vấn đề của tôi.
import os
cmd = """
osascript -e 'tell application "System Events" to keystroke "m" using {command down}'
"""
# minimize active window
os.system(cmd)
Tôi đang tìm cách để làm điều này trong Ruby và ý tưởng tương tự cũng có thể được sử dụng ... 'puts \' osascript -e 'cho ứng dụng "Sự kiện hệ thống" vào tổ hợp phím "m" bằng cách sử dụng {command down}' \ '' hoặc chuyển vào một tệp để thực hiện thêm osascripting 'đặt \ 'osascript example.as \' ' – danmayer
Có thể bạn có thể chạy tập lệnh OSA (man osascript) từ Python, ví dụ và thúc đẩy ứng dụng?
Ngoài Yinan, sẽ gửi phím tắt cho ứng dụng hiện đang hoạt động, bạn có thể gửi nó đến một ứng dụng cụ thể như sau. Vượt qua sau để osascript như trước, hoặc lưu nó vào một tập tin và vượt qua các tập tin để osascript
tell application "Safari"
activate
tell application "System Events" to keystroke "r" using {command down}
end tell
này sẽ gửi Cmd + r Safari sau khi đưa nó vào foreground
Để thực hiện kịch bản của tôi mà đã làm việc trên Windows sử dụng SendKeys
từ pip
cũng làm việc trên OS X, tôi đã thực hiện một tập tin /Library/Python/2.7/site-packages/SendKeys/__init__.py
(site-packages
là nơi pip
đặt tất cả mọi thứ nó cài đặt trên máy Mac của tôi ... không chắc chắn nếu đó là cấu hình hay không.)
Nội dung của tập tin là:
def SendKeys(keys):
if keys == '{ENTER}'
keys = 'return'
from os import system
system('osascript -e \'tell application "System Events" to keystroke ' + keys + "'")
Rõ ràng nó không phải là rất mạnh mẽ, vì vậy Tôi sẽ không đặt nó trên pypi
, nhưng nó đủ để làm cho các tập lệnh của tôi chạy trên cả OS X và Windows.
"Gửi khóa" là gì? –
sendkeys là một cửa sổ api để gửi một bấm phím đến một cửa sổ ứng dụng progmatically. – Fusspawn