2012-08-08 11 views
6

मैं का उपयोग कर सांत्वना से एक सरल messagebox कॉल करने की कोशिश:AppleScript रिटर्न "कोई उपयोगकर्ता संपर्क की अनुमति दी"

osascript -e "display dialog \"hello\"" 

लेकिन यह रिटर्न:

execution error: No user interaction allowed. (-1713) 

वहाँ एक समाधान है?

संपादित करें:

समाधान नहीं है: tell application "AppleScript Runner" to display dialog "Hello"

उत्तर

-6

इस answer देखें, यह एक उदाहरण है कि कंसोल से काम करता है शामिल हैं।

8

आप सिस्टमयूइज़र जैसे संवाद प्रक्रिया को प्रदर्शित करने के लिए पृष्ठभूमि प्रक्रिया बता सकते हैं। डायलॉग डिफ़ॉल्ट रूप से बंद होने के बाद पहले केंद्रित विंडो वापस फोकस नहीं करती है। सिस्टम इवेंट्स और ऐप्पलस्क्रिप्ट धावक को छोटी देरी हो सकती है अगर वे पहले नहीं चल रहे थे।

answer=$(osascript -e 'try 
tell application "SystemUIServer" 
set answer to text returned of (display dialog "" default answer "") 
end 
activate app (path to frontmost application as text) 
answer 
end' | tr '\r' '\n') 
[[ -z "$answer" ]] && exit 

आप एक संवाद प्रदर्शित करने के लिए सबसे आगे आवेदन भी बता सकते हैं, लेकिन यह अक्सर थोड़ा धीमा होता है। अगर एप्लिकेशन प्रतिक्रिया नहीं दे रहा है तो संवाद तुरंत नहीं दिखाया जाता है। यदि एमपीएलएयर ओएस एक्स सबसे आगे है, तो टेक्स्ट डायलॉग किसी भी कीबोर्ड इनपुट को स्वीकार नहीं करते हैं।

answer=$(osascript -e 'try 
tell application (path to frontmost application as text) 
text returned of display dialog "" default answer "" 
end 
end' | tr '\r' '\n') 
[[ -z "$answer" ]] && exit 
संबंधित मुद्दे