10.9 Mavericks में "सिस्टम इवेंट" का उपयोग किए बिना AppleScript में एक मेनू आइटम का चयन करें


15

मैं सिर्फ एक और सवाल का जवाब दे रहा था और मुझे मावेरिक्स में एक नए "फीचर" की याद दिला रहा था।

मेरे पास बहुत से छोटे Automator Services थे जो कोई इनपुट नहीं लेते थे, लेकिन एक कीस्ट्रोक से बंधे होने पर कुछ उपयोगी था। सही उदाहरण टर्मिनल को सामने लाने के लिए एक था। इनमें से कुछ को सामने लाए गए एप्लिकेशन में मेनू आइटम का चयन करना आवश्यक है जैसे कि Bring All to Front

अब ऐसा लगता है कि आपको हर एक ऐप के लिए "एक्सेसिबिलिटी" देने की जरूरत है ताकि अगर सर्विस System EventsAppleScript लाइब्रेरी का इस्तेमाल करती है तो एक यूनिवर्सल कीस्ट्रोक काम करेगा ।

किसी को भी इसके लिए एक तय पता है?


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

आप सभी वर्तमान में इंस्टॉल किए गए एप्लिकेशन को सिस्टम प्राथमिकता में सूची में खींचकर पहुंच एपीआई का उपयोग करने की अनुमति दे सकते हैं:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.