Chọn một mục menu trong AppleScript mà không cần sử dụng các sự kiện hệ thống của hồi giáo trong 10.9 Mavericks


15

Tôi vừa trả lời một câu hỏi khác và được nhắc nhở về một "tính năng" mới trong Mavericks.

Tôi đã từng có một số Automator Services nhỏ không có đầu vào nhưng đã làm một cái gì đó hữu ích khi gắn với tổ hợp phím. Ví dụ hoàn hảo là một để đưa Terminal lên phía trước. Một số trong những yêu cầu này chọn một mục menu trong ứng dụng được đưa ra phía trước như Bring All to Front.

Bây giờ, có vẻ như bạn cần cấp "quyền truy cập" cho mọi ứng dụng để thao tác gõ phím chung sẽ hoạt động nếu Dịch vụ sử dụng System Eventsthư viện AppleScript.

Bất cứ ai biết cách khắc phục cho điều này?


2
Thực tế là Khả năng truy cập phải được ủy quyền cho mỗi ứng dụng là vô lý. Họ cần một thiết lập giống như Allow applicationstính năng.
Tôi sẽ là

1
Chà, họ cần một cách cho phép thư viện 'Sự kiện hệ thống' AppleScript phát hành lệnh thay vì ứng dụng đang chạy khi bạn kích hoạt dịch vụ. Nhưng nó thật lố bịch.
Tony Williams

Câu trả lời:


25

Tôi không biết cách nhấp vào các mục menu mà không sử dụng Sự kiện hệ thống, nhưng nếu những người khác vào đây tìm kiếm cách nhấp vào các mục menu với Sự kiện hệ thống:

tell application "System Events" to tell process "Finder"
    click menu item "New Finder Window" of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    click (menu item 1 where its name starts with "Compress") of menu 1 of menu bar item "File" of menu bar 1
end tell
tell application "System Events" to tell process "Finder"
    set frontmost to true
    tell menu bar item "File" of menu bar 1
        click
        click menu item "Open With" of menu 1
    end tell
end tell

Bạn có thể cho phép tất cả các ứng dụng hiện được cài đặt sử dụng API khả năng truy cập bằng cách kéo chúng vào danh sách trong Tùy chọn hệ thống:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.