मै मैक ओएस एक्स 10.6 और बाद में सी ++ में एक एप्लीकेशन लिख रहा हूं। एप्लिकेशन के एक हिस्से में माउस आंदोलन और माउस क्लिक अनुकरण करने की आवश्यकता है। मैं वर्तमान में CGEventPost(kCGHIDEventTap, event);
का उपयोग कर CGEvent
ऑब्जेक्ट्स पोस्ट करके ऐसा करता हूं।मैक ओएस एक्स पर माउस क्लिक को सिम्युलेट करना कुछ अनुप्रयोगों के लिए काम नहीं करता
यह काम करता है, अधिकांश भाग के लिए - मैं माउस आंदोलन अनुकरण कर सकते हैं और ठीक क्लिक करता है, लेकिन यह कुछ क्षेत्रों में असफल रहा है। उदाहरण के लिए:
- मोज़िला फ़ायरफ़ॉक्स और सफारी में, मैं सभी मेनू पर क्लिक कर सकता हूं, लेकिन किसी वेबसाइट के भीतर किसी लिंक पर क्लिक नहीं कर सकता। जब मैं कोशिश करता हूं, लिंक हाइलाइट किया जाता है, लेकिन ब्राउजर लिंक का पालन नहीं करता है। हालांकि, मैं एक लिंक पर राइट-क्लिक कर सकता हूं, "नए टैब में लिंक खोलें" का चयन करें, और सब कुछ अपेक्षित काम करता है। हल -
CGEventCreateMouseEvent(...)
का उपयोग कर माउस ईवेंट बनाना, ईवेंट को वेब ब्राउज़र के भीतर काम करता है। - मैं डैशबोर्ड को ब्रिंक करने के लिए "डैशबोर्ड" आइकन पर क्लिक कर सकता हूं, लेकिन मैं किसी भी डैशबोर्ड विजेट पर "i" बटन पर क्लिक नहीं कर सकता। इसी प्रकार, स्पॉटलाइट खोज विजेट से किसी भी खोज परिणामों पर क्लिक करना या तो काम नहीं करता है।
इस असंगति आवेदन सीमाओं के साथ है। कारण क्या हो सकता है?
शानदार! यह पूरी तरह हल हो गया। आपका बहुत बहुत धन्यवाद! – Thomi