मै मैक के लिए कोड सीखने की कोशिश कर रहा हूं। मैं थोड़ी देर के लिए जावा लड़का रहा हूं, इसलिए मुझे उम्मीद है कि जिस समस्या में मैं दौड़ रहा हूं वह कोको की एक साधारण गलतफहमी है।addGlobalMonitorForEventsMatchingMask केवल माउस की स्थिति लौट रहा है
-(IBAction)beginEventMonitor:(id)sender {
_eventMonitor = [NSEvent addGlobalMonitorForEventsMatchingMask:(NSLeftMouseUpMask)
handler:^(NSEvent *incomingEvent) {
//NSWindow *targetWindowForEvent = [incomingEvent window];
NSLog(@"Got a mouse click event at %@", NSStringFromPoint([incomingEvent locationInWindow]));
}];
}
-(IBAction)stopEventMonitor:(id)sender {
if (_eventMonitor) {
[NSEvent removeMonitor:_eventMonitor];
_eventMonitor = nil;
}
}
यह मुझे बताने की जब एक माउस क्लिक एक वैश्विक स्तर पर होता है एक सरल हुक है:
मैं निम्नलिखित कोड मिल गया है। हैंडलर काम कर रहा है, लेकिन आने वाली इवेंट की सामग्री कुछ भी सेट नहीं लगती है। एकमात्र उपयोगी जानकारी जो मुझे मिल सकती है वह क्लिक के समय माउस का स्थान है, और उस विंडो की विंडो आईडी जिसमें क्लिक किया गया था।
क्या मुझे और जानकारी प्राप्त नहीं करनी चाहिए? क्या मैं मॉनीटर को सही तरीके से स्थापित नहीं कर रहा हूं? मैं वास्तव में यह जानना चाहता हूं कि कौन सी विंडो पर क्लिक किया गया था, लेकिन मुझे माउस स्थान या विंडो को बदलने के लिए कोई रास्ता भी नहीं मिल रहा है।
माउस घटनाओं के साथ बढ़िया काम करता है, क्या आप कुंजीडाउन घटनाओं के लिए कुछ जानते हैं? –