आईट्यून्स और रीडर (और मुझे यकीन है कि बहुत सारे अन्य) अनुप्रयोगों में ⌥ (विकल्प) कुंजी रखने के दौरान लॉन्च होने पर स्टार्टअप व्यवहार को संशोधित करने की क्षमता होती है। मैंने NSApplicationDelegate
विधियों को देखने का प्रयास किया, लेकिन कोई भी जो भी मैं ढूंढ रहा हूं उसे संकेत देने के लिए कोई भी प्रतीत नहीं होता है। यह कार्यक्षमता कैसे प्राप्त की जाती है?"लॉन्च एप्लिकेशन होल्डिंग [संशोधक कुंजी]" के पीछे क्या चाल है?
उत्तर
आपके आवेदन प्रतिनिधि के applicationDidFinishLaunching में: विधि
NSUInteger flags = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask);
BOOL isOptionPressed = (flags == NSAlternateKeyMask);
(भयानक जवाब Declaring and checking/comparing (bitmask-)enums in Objective-C इससे पहले इस BOOL isOptionPressed = (0 != (flags & NSAlternateKeyMask));
था मैच के लिए संपादित किया गया लेकिन शून्य चेकिंग, अगर समानता के लिए एक सा मुखौटा जांच करने के लिए आवश्यक नहीं है जब तक कि बिट मास्क खुद बाइनरी में सभी शून्य का प्रतिनिधित्व करता है। प्रदान किया गया लिंक अधिक जानकारी देता है। )
फ्रांसिस मैकग्रा के उत्तर की आवश्यकता है I यह काम करने से पहले साबित हो सकता है, लेकिन मुझे अभी भी उस मार्ग के माध्यम से कोई समाधान नहीं दिख रहा है। जैसा कि बताया गया है संकलित नहीं है। संशोधकफ्लैग के लिए एक वास्तविक एनएसईएंड पॉइंटर की आवश्यकता होती है, जो क्लास विधि नहीं है क्योंकि उत्तर सुझाव देगा।
कोई उम्मीद करेगा कि आवश्यक घटना निम्नलिखित द्वारा प्राप्त की जा सकती है।
NSEvent *event = [NSApp currentEvent];
हालांकि जब आवेदन से कहा जाता हैडिफ़िशिश परिणामस्वरूप घटना को लॉन्च करना शून्य है। कम से कम यह हिम तेंदुए पर मेरे परीक्षण में सच है।
applicationDidFinishLaunching में एनएसएनोटिफिकेशन तर्क है लेकिन मुझे नहीं पता कि इसका कोई उपयोग कैसे किया जाए।
मुझे 2007 से cocobuilder.com पर एक समान प्रश्न मिला और मूल रूप से कार्बन फ़ंक्शन GetCurrentKeyModifiers को कॉल करने और कार्बन झंडे कोको रूप में परिवर्तित करने के लिए उत्तर दिया गया है।
देखें http://www.cocoabuilder.com/archive/cocoa/176882-detecting-modifier-keys-at-launch.html
आप बहुत कुछ लेकिन बिना कहा है किसी भी वास्तविक या यहां तक कि संभावित समाधान, भविष्य में – shenku
+ (NSEventModifierFlags) संशोधकफ्लैग NS_AVAILABLE_MAC (10_6) में प्रश्न का सीधे प्रयास करें और जवाब दें; एक वर्ग विधि एक उदाहरण के लिए कोई ज़रूरत नहीं है –
- 1. एप्लिकेशन लॉन्च
- 2. एप्लिकेशन लॉन्च होने की उम्मीद है कि एप्लिकेशन लॉन्च चेतावनी
- 3. एक से अधिक संशोधक कुंजी
- 4. Alt_R एक Alt (ए) संशोधक कुंजी (एक मेटा (एम) संशोधक कुंजी के बजाय)
- 5. लॉन्च iPhone एप्लिकेशन ईमेल
- 6. एंड्रॉइड एप्लिकेशन लॉन्च प्रक्रिया
- 7. लॉन्च जीयूआई एप्लिकेशन (भागने)
- 8. क्विन लिखने के लिए "चाल" क्या है?
- 9. "निजी" संशोधक क्या करता है?
- 10. 'asmlinkage' संशोधक के लिए क्या मतलब है?
- 11. कक्षा के डिफ़ॉल्ट पहुंच संशोधक क्या है?
- 12. आपकी पसंदीदा एंटी-डिबगिंग चाल क्या है?
- 13. आईओएस एप्लिकेशन में लॉन्च छवियों का उद्देश्य क्या है?
- 14. pygtk: कुंजी निर्धारित करें एक संशोधक
- 15. आर। जावा के पीछे अवधारणा क्या है?
- 16. मुख्य गतिविधि के बिना एंड्रॉइड एप्लिकेशन लॉन्च करें और एप्लिकेशन लॉन्च करने पर सेवा शुरू करें
- 17. लाइटस्ट्रीमर के पीछे जादू क्या है?
- 18. किसी एप्लिकेशन के लॉन्च का पता लगाने
- 19. पासवर्ड एंड्रॉइड एप्लिकेशन के लॉन्च की रक्षा
- 20. किस प्रकार का डेटा size_t होल्डिंग है?
- 21. एंड्रॉइड लॉन्च एप्लिकेशन विवरण पृष्ठ
- 22. विनाश के माध्यम से चाल असाइनमेंट + चाल निर्माण सुरक्षित है?
- 23. क्या कई वीआईएम कमांड के पीछे कुछ पैटर्न है?
- 24. संरक्षित संशोधक का क्या अर्थ है?
- 25. हेडर के पीछे तर्क क्या है?
- 26. ज़िप संपीड़न के पीछे अवधारणा क्या है?
- 27. नींद के पीछे एल्गोरिदम क्या है()?
- 28. एक्सएसएस के पीछे सामान्य अवधारणा क्या है?
- 29. CAReplicatorLayer के पीछे जादू क्या है?
- 30. INotifyPropertyChanged: दृश्य के पीछे क्या होता है?
कृपया अद्भुत http://stackoverflow.com/questions/16166895/declaring-and-checking-comparing-bitmask-enums-in-objective-c का उल्लेख – uchuugaka