2011-09-28 8 views
8

से एनएसविंडो प्राप्त करें CGWindowNumber से, मैं NSWindow रेफरी कैसे प्राप्त करूं। मैं उपयोग करने की कोशिश:KCGWindowNumber

[NSApp windowWithWindowNumber:windowNumber] 

लेकिन मैं हमेशा एक शून्य मान मिलता है। लागू करने के लिए मुझे NSWindow प्राप्त करने की आवश्यकता है, मैंने हमेशा दी गई विंडो के शीर्ष पर सेट किया है। क्या कोई इस समस्या को हल करने के लिए जानता है या कोई वैकल्पिक समाधान है?


जवाब के लिए धन्यवाद, लेकिन यह समाधान नहीं है, मैं पहले से ही की कोशिश की थी, लेकिन यह काम नहीं करता है, वास्तव में मैं एक परीक्षण किया, मैं निम्नलिखित कोड की कोशिश की:

for (NSInteger i = 0; i <10000; i + +) { 
NSWindow * wind; 
wind = [NSApp windowWithWindowNumber: windowNumber]; 
NSLog (@ "\ n Window:% @", wind); 
} 

लेकिन नतीजा हमेशा Window: (null)

मेरे पास खिड़की की एक सूची है, मुझे विंडो ecc की मालिकपीड संख्या कहां मिल सकती है .. ecc ... और अब मुझे हमेशा कुछ विंडो के शीर्ष पर सेट करने की आवश्यकता है।

हमेशा शीर्ष पर संभव है सेट सेट: [window setlevel:NSFloatingWindowLevel], विंडो NSwindow ऑब्जेक्ट है, यह वास्तविक है?

क्या आपके पास कोई समाधान है? या मेरी समस्या के लिए एक और विचार?

+0

आपको विंडो नंबर कहां से मिल रहा है? – omz

उत्तर

2

kCGWindowNumber एक CFNumber/NSNumber, -windowWithWindowNumber: एक NSInteger उम्मीद है। -windowWithWindowNumber: पर जाने से पहले आपको विंडो नंबर संदर्भ (-integerValue के साथ) से पूर्णांक निकालने की आवश्यकता होगी।

+0

यह केवल उन विंडो के लिए काम करता है जो एप्लिकेशन से संबंधित हैं जो इसे कॉल करते हैं। लेकिन दूसरों के लिए '[एनएसएपीपी विंडो विथविंडो नम्बर: [[[एनएसविंडो विंडो नर्सविड्थऑप्शन: एनएसविंडो नम्बरलिस्ट ऑल एप्लिकेशंस] ऑब्जेक्टएट इंडेक्स: i] इंटीजर वैल्यू]]; 'रिटर्न शून्य। क्यूं कर? – Garnik

+0

'windowWithWindowNumber: 'के लिए प्रलेखन:' windowNumbersWithOptions: 'का उपयोग करके मिली विंडो संख्याओं के लिए' nil' वापस कर सकता है: यदि आपके ऐप के स्वामित्व वाली कोई संबंधित विंडो ऑब्जेक्ट ** नहीं है ** "। –

+0

ओह ... याद किया कि ... किसी अन्य समाधान की आवश्यकता है – Garnik