एक WPF विंडो में हैंडल ढूँढना




window handle (4)

आप उपयोग कर सकते हैं :

Process.GetCurrentProcess().MainWindowHandle

विंडोज़ फॉर्मों में एक संपत्ति win1 थी। हैडल, अगर मुझे याद है, मुख्य विंडो हैंडल के हैंडल देता है?

क्या एक WPF विंडो के हैंडल प्राप्त करने के लिए कोई समकक्ष तरीका है?

मुझे निम्नलिखित कोड ऑनलाइन मिला,

IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;

लेकिन मुझे नहीं लगता कि इससे मेरी मदद मिलेगी क्योंकि मेरे एप्लिकेशन में कई खिड़कियां हैं।

धन्यवाद!!


WindowsInteropHelper क्लास के साथ बस अपनी विंडो का उपयोग करें:

// ... Window myWindow = get your Window instance...
IntPtr windowHandle = new WindowInteropHelper(myWindow).Handle;

अभी, आप एप्लिकेशन की मुख्य विंडो के लिए पूछ रहे हैं, जिसमें से हमेशा एक होगा। आप किसी भी विंडो पर इस तकनीक का उपयोग कर सकते हैं, हालांकि, यह एक सिस्टम है। Windows.Window विंडो क्लास व्युत्पन्न।


यदि आप किसी भी कारण से अपने सभी एप्लिकेशन की Window लिए खिड़की हैंडल चाहते हैं, तो आप एप्लिकेशन का उपयोग कर सकते हैं। विन्डोज़ प्रॉपर्टी को सभी विंडोज़ पर प्राप्त करने के लिए और उसके बाद WindowInteropHandler का उपयोग अपने हैंडल पर करने के लिए करें क्योंकि आपने पहले से ही प्रदर्शन किया है।


खैर, Application.Current.MainWindow पास करने के बजाए। वर्तमान। new WindowInteropHelper(this).Handle , बस जिस भी खिड़की के लिए आप चाहते हैं उसका संदर्भ पास करें: new WindowInteropHelper(this).Handle और इसी तरह।







handle