2016-07-14 4 views
6

इससे पहले मैं एकदेर XAML/स्टोर ऐप्स में वर्ड नियंत्रण करने के लिए सी # में बाध्यकारी

Microsoft.Office.Interop.Word.Window 
में लौटे

[DllImport("Oleacc.dll")] 
private static extern long AccessibleObjectFromWindow(int windowHandle, int objectID, Guid refID, ref IntPtr accessibleObject); 

का उपयोग करने और उसके एवज में वस्तु कास्टिंग किसी अन्य अनुप्रयोग के अंदर एक Word दस्तावेज़ को खोजने के लिए कर लिया है

यह बहुत अच्छी तरह से काम करता है कि मैं माइक्रोसॉफ्ट आउटलुक के भीतर वर्ड के बारे में विभिन्न गुणों का निरीक्षण कर सकता हूं, क्योंकि एमएस आउटलुक अपनी ईमेल सामग्री को प्रस्तुत करने के लिए वर्ड विंडो का उपयोग करता है।

हालांकि, यह एक्सएएमएल/विंडोज स्टोर ऐप में थोड़ा सा ट्रिकियर है, क्योंकि ऐसा लगता है कि वर्ड डॉक सीधे विंडो हैंडल के बिना एम्बेडेड है। नीचे विंडो का इंस्पेक्टर.एक्सई आउटपुट है। चयनित 'संदेश' आइटम मेरा शब्द उदाहरण है। हालांकि, अभिगम्यता निरीक्षक के अनुसार पेड़ में एकमात्र आइटम नेटविंडोन्डैंड्स के साथ मेल विंडो और शीर्षक विंडो हैं।

क्या किसी को पता है कि बाहरी XAML/store एप में वर्ड कंट्रोल को सी # ऑब्जेक्ट में कैसे मार्शल करना है?

enter image description here

उत्तर

1

आप यहाँ भाग्य से बाहर रहे हैं। इनपेक्ट टूल में आप जो देखते हैं वह वास्तव में एक तत्व है जिसमें "_WwG" वर्ग का नाम होता है, लेकिन आप यहां Word के एक automatable उदाहरण से निपट नहीं रहे हैं।

कक्षा में "_WwG" वर्ग के सभी देशी विंडो हैंडल में से पहला है, और इसके अलावा, जो कोड उपयोग किया जाता है - हालांकि माइक्रोसॉफ्ट ऑफिस 2016 घटक होने के नाते - किसी भी COM इंटरफ़ेस का खुलासा नहीं करता है जिसे आप एक्सेस कर सकते हैं (कम से कम शब्द का परिचित COM ऑब्जेक्ट मॉडल नहीं)।

आपकी आवश्यकताओं के आधार पर, आप यूआई स्वचालन के आधार पर एक समाधान ढूंढ सकते हैं - निरीक्षण उपकरण द्वारा उपयोग की जाने वाली एक ही प्रकार की निरीक्षण तकनीक।

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