2010 में, Pierre से पूछा गया this प्रश्न (उसका स्वीकृत उत्तर मेरे लिए काम नहीं करता है)।नकली MouseEvent ठीक से काम नहीं कर रहा है ओएसएक्स
मुझे एक ही समस्या है: मैं अपने कोको एप्लिकेशन से प्रोग्राम को प्रोग्राम रूप से चारों ओर (और बंद!?!) स्क्रीन को सफलतापूर्वक स्थानांतरित करने में सक्षम हूं, हालांकि माउस को मेरे डॉक के स्थान पर लाया नहीं जाता है यह (और कुछ अन्य अनुप्रयोगों के लिए, माउस ले जाया घटना दर्ज की नहीं कर रहे हैं जैसे कि माउस को दूर खेल।)
विधि मैं उपयोग कर रहा हूँ इस प्रकार है:
void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
CGEventSetType(theEvent, type);
CGEventPost(kCGSessionEventTap, theEvent);
CFRelease(theEvent);
}
और फिर जब मैं ले जाना चाहते हैं माउस मैं चलाता हूं:
PostMouseEvent(0, kCGEventMouseMoved, mouseLocation);
ध्यान दें कि यह कोड लिंक जैसी चीजों के लिए माउसओवर ईवेंट उत्पन्न करता है।
अब यह 2013 है, क्या इस मुद्दे को ठीक करना संभव है?
आपके समय के लिए धन्यवाद!
आपको स्क्रीन के अन्य किनारों को ध्यान में रखना चाहिए। साथ ही, कई मॉनीटर के साथ, स्क्रीन के मूल बिंदु के लिए ऋणात्मक घटकों के लिए यह संभव है। –
हां, करेंगे। ठीक है, मुझे नहीं पता था कि अतिरिक्त मॉनीटर के बारे में ... धन्यवाद! (मेरी परियोजना अतिरिक्त मॉनीटर का उपयोग करेगी ... भाग्यशाली तुमने मुझे बताया!) –