2009-12-15 12 views
19

मैं एक पृष्ठभूमि प्रक्रिया एक पारदर्शी खिड़की दिखाई देते हैं जब एक हॉटकी दबाया जाता है बनाता है कि मिल गया है बनाने के लिए:कैसे प्रोग्राम के रूप में कोको आवेदन सक्रिय

[window makeKeyAndOrderFront:nil]; 
[[content animator] setAlphaValue:1.0]; // alpha was 0.0 

... खिड़की दूसरे के सामने ठीक & दिखाता है खिड़कियां (जैसा कि मैं इसे चाहता हूं), हालांकि जब तक कि विंडो दिखाई नहीं देती तब तक मैं मैन्युअल रूप से विंडो पर क्लिक करता हूं जब भी विंडो सक्रिय होती है। मैं एप्लिकेशन को सक्रिय करने के लिए 'makeKeyAndOrderFront' की अपेक्षा कर रहा था, हालांकि मेरे अनुप्रयोग में एनएसएलओजी लाइन जोड़ना WillBecomeActive दिखाता है कि माउस क्लिक होने तक इसे कोई सक्रिय अधिसूचना नहीं मिल रही है।

क्या कोई जानता है कि मैं अपने आवेदन को सक्रिय कैसे कर सकता हूं @ उसी समय जब मैं -मेकके एंड ऑर्डर फ़्रंट जारी करता हूं? मुझे इसे सक्रिय करने की आवश्यकता है ताकि यह कुंजीपटल इनपुट स्वीकार कर सके - किसी भी सहायता की आवश्यकता :-)

+2

ऐसा मत करो - मैक क्षुधा आम तौर पर अच्छे कारण के लिए ध्यान केंद्रित चोरी मत करो। – AlBlue

+6

लेकिन इस मामले में, फोकस उनके ऐप में होने की उम्मीद है क्योंकि उपयोगकर्ता ने हॉटकी का उपयोग किया है। – dreamlax

उत्तर

47

[[NSApplication sharedApplication] activateIgnoringOtherApps : YES]; पर देखें।

+2

* धन्यवाद !!! !!! - मैं अपने बालों को NSRunning अनुप्रयोगों के साथ प्रयास करने की कोशिश कर रहा था -एक्टिवेटविथऑप्शन, लेकिन मैंने जो भी कोशिश की वह समुद्र तट की गेंद में ... –

9

10.6 के लिए या अधिक से अधिक

[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)]; 
+0

इसे रखने के लिए सबसे अच्छी जगह है? 'applicationDidFinishLaunching'? –

+0

इस उत्तर के लिए धन्यवाद। मेरे पास एक बहु-विंडो ऐप है जो सही ढंग से सक्रिय नहीं होगा जब तक कि 'NSApplicationActivateAllWindows' सेट नहीं किया गया था। – thomasfuchs