माइक्रोसॉफ्ट विनैपी दस्तावेज यह सुझाव देता है कि user32.dll में GetNextWindow()
नामक एक फ़ंक्शन शामिल है जो माना जाता है कि इस फ़ंक्शन को बार-बार कॉल करके एक को अपने Z क्रम में खुली विंडो को गिनने की अनुमति मिलती है।मैं सी # में GetNextWindow() का उपयोग कैसे कर सकता हूं?
Pinvoke आमतौर पर मुझे सी # से WinAPI कार्यों का उपयोग करने के लिए आवश्यक DllImport
कथन देता है। हालांकि, GetNextWindow()
के लिए इसमें कोई प्रविष्टि नहीं है। इसलिए मैं का निर्माण करने की कोशिश की अपने ही:
[DllImport("user32.dll")]
static extern IntPtr GetNextWindow(IntPtr hWnd, uint wCmd);
दुर्भाग्य से, जब यह कॉल करने के लिए कोशिश कर रहा है, मैं एक EntryPointNotFoundException
कह मिलती है:
Unable to find an entry point named 'GetNextWindow' in DLL 'user32.dll'.
यह GetNextWindow()
पर ही लागू होती है; पिनवोक पर सूचीबद्ध अन्य फ़ंक्शन ठीक हैं। मैं अपवाद फेंकने के बिना GetTopWindow()
और GetWindowText()
पर कॉल कर सकता हूं।
बेशक, यदि आप अपने वर्तमान जेड ऑर्डर में विंडोज़ को गिनाने के लिए एक पूरी तरह से अलग तरीका सुझा सकते हैं, तो मुझे यह भी सुनकर खुशी हो रही है।
सही GW_HWNDNEXT या GW_HWNDPREV ध्वज के साथ GetWindow समारोह कॉल करने जैसा ही है। और यह धागा (http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/afa69b03-5425-4124-b9b4-f8c6cb9bcc9c) दिखाता है कि इसका उपयोग कैसे करें "अगला" – hometoast
शानदार, धन्यवाद आप लोड करते हैं! – Timwi
गेटविंडो() के रूप में क्या एक ही तर्क लेते हैं, तो गरीब पिनवॉकर्स को भ्रमित करने के अलावा GetNextWindow() का क्या मतलब है? – Traubenfuchs