GetProcessesByName
लिए दौड़ शर्त है जो एक प्रक्रिया पहली कॉल के बाद बंद कर देता है से बचने के लिए इस प्रयास करें जानना चाहेंगे कि यह कोड कभी-कभी असफल हो सकता है।
Process
.NET में कक्षा विंडोज प्रदर्शन काउंटर पर आधारित है, जो कुछ मशीनों पर रजिस्ट्री के माध्यम से अक्षम किया जा सकता है। जब ऐसा होता है, तो Process.GetProcessesByName
विधि पर कॉल अपवाद फेंक देगा।
मुझे लगता है कि यह स्थिति विभिन्न "साफ-सफाई/प्रदर्शन ट्यूनिंग" अनुप्रयोगों वाली मशीनों के लिए विशिष्ट है, जो अन्य सामानों के साथ, मशीन के प्रदर्शन में अनुमान लगाने के लिए प्रदर्शन काउंटर अक्षम करती हैं।
अतीत में इसने मुझे बार-बार अपने ग्राहकों की क्लाइंट मशीनों के कुछ प्रतिशत के साथ दर्द का कारण बना दिया है, जिसने मुझे अन्य एपीआई (यदि कुछ हद तक सीमित या बोझिल) विकल्पों का पता लगाने का नेतृत्व किया, जैसे कि विन एपीआई को सीधे पिनवोक का उपयोग करने के लिए कॉल करना प्रक्रियाओं।
एक और संभावित समाधान यह सुनिश्चित करना होगा कि आपका इंस्टॉलर या एप्लिकेशन प्रदर्शन काउंटर सक्षम करता है, या कम से कम जानता है कि अक्षम होने के साथ कैसे निपटें।
स्रोत
2010-12-15 19:17:45
यह बिल्कुल सही है! धन्यवाद! –