2011-01-31 14 views
5

मैंने एक एप्लीकेशन लिखा है (wpf - क्या मोनो मैक के लिए इसका अनुवाद करेगा?) कि मैं किसी भी तरह मैक ओएस एक्स में पोर्ट करना चाहता हूं। इस एप्लिकेशन में user32.dll का उपयोग करना शामिल है - वहाँ एक रास्ता है कि मैं इस का उपयोग कर सकते मेरी कोड के साथ एक मैक संगत बनाने के लिए हैसी # में माउस पर क्लिक करने के लिए मोनो का उपयोग करना - मैक ओएस

[DllImport("user32.dll")] 
    static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo); 
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); 
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 

मैं मोनो सुना है कई प्लेटफार्मों के लिए आवेदन करने के लिए उपयोगी है: एक माउस क्लिक (कुछ इस तरह) प्रदर्शन करने के लिए?

यदि नहीं, तो क्या कोई तरीका है कि मैं उपयोगकर्ता32.dll के बराबर मैक का उपयोग करके माउस क्लिक कर सकता हूं? और यह पता लगाने का एक तरीका है कि प्रोग्राम किस प्रकार के कोड को चलाने के लिए विंडोज या मैक ओएस में चल रहा है या नहीं?

+0

आप अपने आवेदन में कुछ के खिलाफ माउस क्लिक उत्पन्न करने के लिए कोशिश कर रहे हैं, या किसी अन्य अनुप्रयोग –

+0

के खिलाफ मैं किसी अन्य अनुप्रयोग में क्लिक करने के लिए कोशिश कर रहा हूँ है - मेरा ऐप कम होने पर कम हो जाता है। – Jack

+0

मोनो WPF के साथ संगत नहीं है। आपको WinForms का उपयोग करने की आवश्यकता है। मैंने user32.dll के मैक समतुल्य मैक को गुगल करने में काफी समय बिताया है, मैं mouse_event का 'प्रबंधित' संस्करण नहीं ढूंढ पाया। –

उत्तर

0

मोनो डब्ल्यूपीएफ का समर्थन नहीं करता है और वर्तमान में इसका समर्थन करने की कोई भविष्य की योजना नहीं है। मैंने इसे सप्ताहांत में देखा।

यदि आप जीयूआई अनुप्रयोगों के साथ मोनो का उपयोग करने जा रहे हैं, तो मैं सलाह देता हूं कि आप WinForms का उपयोग करें क्योंकि यह मोनो में लागू किया गया है। http://mono-project.com/Compatibility

+0

यह सवाल का जवाब नहीं देता है; वह पूछ रहा है कि क्या ओएस एक्स पर मोनो का उपयोग करके माउस क्लिक को अनुकरण करने का एक समकक्ष तरीका है, न कि एक WPF अनुप्रयोग पर पोर्ट करना संभव है या नहीं। –

1

मोनो वर्तमान में WPF का समर्थन करने की योजना नहीं बना रहा Link देखें।
यह SO question पर नज़र डालने के लिए यह देखने के लिए कि क्या यह मदद करता है और आप सिल्वरलाइट का उपयोग करना चाहते हैं क्योंकि यह मैक पर माइक्रोसॉफ्ट द्वारा समर्थित है।

1

इसके अलावा, आप एक Win32 देशी समारोह बुला रहे हैं - - उन मैक पर समर्थित नहीं हैं

यहाँ मोनो की पूरी सूची सुविधाएं लागू है। आपकी सर्वश्रेष्ठ शर्त क्रॉस-प्लेटफ़ॉर्म .NET-सख्त कोड का उपयोग करेगी।

+0

क्या आप जानते हैं कि माउस क्लिक करने के लिए मैं .NET-सख्त कोड का उपयोग कर सकता हूं? मैंने पहले इसे देखा है लेकिन user32.dll का उपयोग किये बिना इसे कैसे किया जा सकता है ... – Jack

+0

यह सिस्टम से जुड़ा एक क्षमता है - आपको सीधे विंडोज़ में एपीआई का आह्वान करना होगा क्योंकि इसके लिए कोई .NET कार्यान्वयन नहीं है । मैक के लिए समान क्षमता उपलब्ध है (http://stackoverflow.com/questions/1483657/performing-a-double-click-using-cgeventcreatemouseevent) लेकिन मुझे यकीन नहीं है कि आप इसे मोनो में उपयोग कर सकते हैं। –

0

आप एप्पल के तटरक्षक एपीआई को देखने का प्रयास कर सकते हैं, वहाँ एक समारोह CGEventCreateMouseEvent

संबंधित मुद्दे