2008-10-30 13 views
10

मैं अपने स्मार्ट क्लाइंट एप्लिकेशन में से एक में जीडीआई लीक मुद्दे की जांच कर रहा हूं। मैं किसी प्रक्रिया से जुड़े जीडीआई ऑब्जेक्ट्स प्राप्त करने के लिए एक टूल (जैसे कार्यसूची) ढूंढ रहा हूं। मैं टास्कमैनगर में जीडीआई ऑब्जेक्ट्स देख सकता हूं, लेकिन समय-समय पर इसे कैप्चर करने की मेरी आवश्यकता है। उदाहरण के लिए एक पाठ फ़ाइल में।एक प्रक्रिया से जुड़े जीडीआई वस्तुओं को कैसे प्राप्त करें

उत्तर

5

GetGuiResources एपीआई फ़ंक्शन का उपयोग करके प्रक्रिया द्वारा उपयोग में जीडीआई हैंडल की समय-समय पर लॉग इन करने के लिए प्रोग्राम को लिखना काफी सरल होना चाहिए।

5

पूरी तरह से नि: शुल्क प्रक्रिया एक्सप्लोरर (http://www.sysinternals.com) आपको ग्राफिक रूप से इस और निरीक्षण प्रक्रियाओं से संबंधित एक अरब अन्य पहलुओं का निरीक्षण करने की अनुमति देता है। प्रदर्शित करने के लिए कॉलम में "जीडीआई ऑब्जेक्ट्स" जोड़ें और आप बंद और चल रहे हैं।

नोट: माइक्रोसॉफ्ट ने अपने उपकरण हासिल किए और मेरा मानना ​​है कि मार्क रसेलिनोविच अब माइक्रोसॉफ्ट के लिए काम करता है। Sysinternals उपकरण को आम तौर पर उन्हें कहीं भी सुविधाजनक रूप से कॉपी करने के अलावा किसी अन्य स्थापना की आवश्यकता नहीं होती है और यदि वे पहले से नहीं हैं तो आपके टूलबॉक्स में होना चाहिए।

3

GDIView, निरोसॉफ्ट से एक निःशुल्क टूल का उपयोग करें।

उनका विवरण:

GDIView कि GDI हैंडल (ब्रश, पेन, फोंट, बिटमैप, और अन्य) हर प्रक्रिया द्वारा खोला की सूची प्रदर्शित करता है एक अद्वितीय उपकरण है। यह प्रत्येक प्रकार के जीडीआई हैंडल के साथ-साथ प्रत्येक हैंडल के बारे में विस्तृत जानकारी के लिए कुल गणना प्रदर्शित करता है। यह टूल उन डेवलपर्स के लिए उपयोगी हो सकता है जिन्हें उनके सॉफ़्टवेयर में जीडीआई संसाधन रिसाव का पता लगाने की आवश्यकता है।

आप GDI की सूची को बचा सकता है के रूप में नियमित रूप से काउंटरों, टैब-सीमांकित, अल्पविराम से अलग किए, और सारणीबद्ध पाठ फ़ाइलें, साथ ही क्षैतिज या लम्बवत HTML फ़ाइल या एक XML फ़ाइल।

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