lodctr

2017-06-09 8 views
5

के बिना प्रदर्शन काउंटर पंजीकृत करें मैं lodctr निष्पादन योग्य उपयोग किए बिना एक्सएमएल-आधारित प्रदर्शन काउंटर में पंजीकरण करने के लिए एक दृष्टिकोण की तलाश में हूं।lodctr

जबकि this question और this question ने समस्या की कुछ जानकारी दी है, कोई भी उचित समाधान नहीं देता है।

समारोह LoadPerfCounterTextStrings चाल करने के लिए लगता है, लेकिन इनपुट (अर्थात के लिए /M तर्क lodctr आदेश) के रूप में एक्सएमएल लेने के लिए प्रतीत नहीं होता। फ़ंक्शन किसी भी तरह lodctr कमांड को कॉल करेगा लेकिन प्रोग्रामर को lodctr.exe प्रोग्रामेटिक रूप से कॉल करने से बचाएगा।

वहाँ एक दृष्टिकोण इस समारोह कॉल करने के लिए (या किसी अन्य) कि कैसा व्यवहार करेंगे है के रूप में यदि:

lodctr.exe /M:xmlfile.xml 

?

बस एक अतिरिक्त जानकारी जो LoadPerfCounterTextStrings विंडोज एक्सपी में उपलब्ध है, हालांकि, नई एपीआई (perflib) केवल Vista के बाद उपलब्ध है। मैं वी 2 का उपयोग कर रहा हूँ।

+0

मुझे नहीं लगता कि इसके लिए एक एपीआई है। मुझे लगता है कि यह सीधे lodctr.exe में किया गया है दुर्भाग्यवश (यदि आप सीधे exe में देखते हैं, तो आप काम के लिए आवश्यक सभी रजिस्ट्री स्ट्रिंग देखेंगे: "_V2Providers", आदि) –

उत्तर

1

मुझे नहीं लगता कि कम से कम एक दस्तावेज के साथ यह संभव है। यदि आप कुछ अनियंत्रित तरीके से खोज और उपयोग करेंगे, तो यह कुछ ओएस/सर्विस पैक या विंडोज के भविष्य के संस्करणों के साथ तोड़ सकता है।

सर्वश्रेष्ठ शर्त है कि आप अपनी प्रक्रिया के भीतर प्रदर्शन काउंटरों की स्थापना/पंजीकरण के लिए LODCTR और UNLODCTR पर कॉल करें। चूंकि ये कमांड लाइन टूल्स हैं, इसलिए वे शायद कमांड (ब्लैक) कंसोल विंडो के साथ दिखाई देंगे। आप पाइप के साथ इनपुट/आउटपुट रीडायरेक्शन के साथ छिपा सकते हैं, ताकि कंसोल विंडो दिखाई न दे।

ध्यान दें कि इन उपकरणों में अधिक समय या संसाधन नहीं लगते हैं, इसलिए इन प्रक्रियाओं से इन EXE को कॉल करने में अधिक समय नहीं लगेगा (उपयोगकर्ता नोटिस नहीं करेगा, और यहां तक ​​कि आसानी से आसानी से नहीं पाएंगे कुछ प्रक्रिया निगरानी उपकरण के साथ बाहर)।

ध्यान दें कि पीसी पंजीकरण/अनधिकृत करना एक दुर्लभ गतिविधि है - इसलिए माइक्रोसॉफ्ट आपको एक अच्छा कॉल करने योग्य विंडोज एपीआई प्रदान करने के लिए परेशान नहीं करेगा।

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