आप पूरे "प्रत्यय" प्राप्त कर सकते हैं, यानी Application.exe
के बाद भाग। उसी संरचना का उपयोग करते हुए .NET ढांचे (जैसे peformance काउंटर) करता है।
विधि System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName है, जो ऐसा कर सकती है। ध्यान दें कि विधि को "इंफ्रास्ट्रक्चर" के रूप में वर्णित किया गया है और "यह एपीआई .NET Framework आधारभूत संरचना का समर्थन करता है और इसका उद्देश्य सीधे आपके कोड से उपयोग नहीं करना है।", लेकिन फिर भी सार्वजनिक है। मुझे नहीं लगता कि आपकी इच्छित जानकारी प्राप्त करने के लिए कोई भी "बेहतर समर्थित" तरीका है। कम से कम यह भविष्य में बदलावों के लिए अधिक मजबूत और लचीला है, फिर दस्तावेज़ीकरण के आधार पर सूचना को उलट देता है।
string suffix = System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName("",
System.Runtime.Versioning.ResourceScope.Machine,
System.Runtime.Versioning.ResourceScope.AppDomain));
यह _p4472_r16_ad1
देता है, उदाहरण के लिए।
बेशक, आप सीधे पूर्ण नाम प्राप्त करने के लिए प्रदर्शन काउंटर के बेसनाम को भी पास कर सकते हैं। उपरोक्त खाली स्ट्रिंग का उपयोग केवल "प्रत्यय" प्राप्त करने के लिए एक चाल है।
string str = VersioningHelper.MakeVersionSafeName("Application.exe",
ResourceScope.Machine, ResourceScope.AppDomain);
// str -> "Application.exe_p4472_r16_ad1".
वर्ग VersioningHelpers
भी निजी विधि GetRuntimeId()
, लेकिन ऊपर दिए गए, मुझे नहीं लगता कि यह उस पर प्रतिबिंब का उपयोग करने के लक्ष्य को हासिल आपको क्या चाहिए आवश्यक है है।
स्रोत
2012-04-26 07:49:00
Process.GetProcesses का उपयोग करने से आपकी मदद करता है? http://msdn.microsoft.com/en-us/library/system.diagnostics.process.getprocesses.aspx –
ऐसा लगता है कि मैं क्या देख रहा हूं। – TheGateKeeper
यह उपन्यास है। तब "पी 4 9 52" और "विज्ञापन 1" का क्या अर्थ है? क्या यह आपका खुद का काउंटर है? फिर उस कोड को पोस्ट करें जिसका उपयोग आपने इसे बनाने के लिए किया था। –