मैक ओएस/कोको में के लिए कीबोर्ड की घटनाओं उत्पन्न करें, मैं कीबोर्ड प्रविष्टि संश्लेषण कर सकते हैं - तार - एक पारदर्शी तरीके से frontmost आवेदन के लिए?frontmost आवेदन
अधिक सटीक होने के लिए, मैं विशेष वर्ण या नियंत्रण अनुक्रम नहीं भेजना चाहता हूं। मेरी केवल आवश्यकता है मानक वर्ण भेजें।
बस here सीखा है, कि AppleScript इस तरह चाल कर सकते हैं:
tell application "TextEdit"
activate
tell application "System Events"
keystroke "f" using {command down}
end tell
end tell
प्रश्न: मैं इस का उपयोग कर ObjC/कोको कैसे करना होगा?
अद्यतन 2012-02-18 - Nicks प्रस्ताव बढ़ाया
Nick के नीचे दिए गए कोड के आधार पर, यहाँ अंतिम समाधान है:
// First, get the PSN of the currently front app
ProcessSerialNumber psn;
GetFrontProcess(&psn);
// make some key events
CGEventRef keyup, keydown;
keydown = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, true);
keyup = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)6, false);
// forward them to the frontmost app
CGEventPostToPSN (&psn, keydown);
CGEventPostToPSN (&psn, keyup);
// and finally behave friendly
CFRelease(keydown);
CFRelease(keyup);
इस विधि का उपयोग करना, एक पर एक क्लिक एक गैर-सक्रिय पैनल का बटन ईवेंट को वास्तविक फ्रंट एप्लिकेशन पर लक्षित करता है। पूरी तरह से मैं क्या करना चाहता हूँ।
धन्यवाद! इतने कम स्तर पर कभी भी कुछ नहीं किया। – SteAp