เลือกรายการเมนูใน AppleScript โดยไม่ใช้“ เหตุการณ์ของระบบ” ใน 10.9 Mavericks


15

ฉันเพิ่งตอบคำถามอื่นและได้รับการเตือนเกี่ยวกับ "คุณสมบัติ" ใหม่ใน Mavericks

ฉันเคยมีตัวอักษรตัวเล็ก ๆ จำนวนหนึ่งAutomator Serviceที่ไม่มีอินพุต แต่ทำสิ่งที่มีประโยชน์เมื่อเชื่อมโยงกับการกดแป้น ตัวอย่างที่สมบูรณ์แบบคือสิ่งหนึ่งที่จะนำเทอร์มินัลมาไว้ด้านหน้า Bring All to Frontบางเหล่านี้จำเป็นต้องมีการเลือกรายการเมนูในการประยุกต์ใช้นำไปด้านหน้าเช่น

ตอนนี้ดูเหมือนว่าคุณจะต้องให้ "การเข้าถึง" แก่ทุกแอพเดียวเพื่อให้การกดแป้นพิมพ์ทั่วไปทำงานได้ถ้าบริการใช้System Eventsไลบรารี AppleScript

ใครรู้การแก้ไขสำหรับเรื่องนี้?


2
ความจริงที่ว่าการเข้าถึงจะต้องได้รับอนุญาตเป็นรายบุคคลต่อแอปนั้นไร้สาระ พวกเขาต้องการการตั้งค่าเช่นเดียวกับAllow applicationsคุณสมบัติ
l'L'l

1
พวกเขาต้องการวิธีการอนุญาตไลบรารี 'เหตุการณ์ระบบ' AppleScript ที่ออกคำสั่งแทนที่จะเป็นแอปที่ทำงานเมื่อคุณเปิดใช้งานบริการ แต่มันไร้สาระ
โทนี่วิลเลียมส์

คำตอบ:


25

ฉันไม่ทราบวิธีการคลิกที่รายการเมนูโดยไม่ต้องใช้กิจกรรมระบบ แต่ถ้ามีคนอื่นมาที่นี่ค้นหาวิธีคลิกรายการเมนูด้วยกิจกรรมของระบบ:

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

คุณสามารถอนุญาตให้แอปพลิเคชันที่ติดตั้งอยู่ในปัจจุบันใช้ API การเข้าถึงได้โดยการลากแอปพลิเคชันไปยังรายการในการตั้งค่าระบบ:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.