मैं यह पता लगाने की कोशिश कर रहा हूं कि किसी एप्लिकेशन का उदाहरण (vb.net नहीं) पहले से चल रहा है - क्योंकि मैं इसे शुरू करना चाहता हूं लेकिन अगर यह पहले से चल रहा है तो मैं इसे शुरू नहीं करना चाहता हूं। मैं अगर एक प्रक्रिया चल रही है जांच करने के लिए एक समाधान मिल गया है:मैं VB.NET में चल रहे प्रक्रिया नामों की सूची कैसे प्राप्त करूं?
Dim proc As Integer = Process.GetProcessesByName(ProcessName).GetUpperBound(0) + 1
और यह सच है लौटने अगर> = 1 (या बस प्रक्रिया संख्या)।
मेरी समस्या यह है कि यह एक तृतीय-पक्ष एप्लिकेशन है, और इसकी प्रक्रिया का नाम सिर्फ एक नाम नहीं है, लेकिन इसमें एक संस्करण संख्या है (जिसे मैं रन टाइम पर नहीं जानता), और यह भी एक * 32 (तो शायद एक * 64 अगर यह x64 में स्थापित है?)।
मुझे नाम से चलने वाली प्रक्रियाओं की एक सूची प्राप्त करने की आवश्यकता है, और परीक्षण करें कि "प्रक्रिया नाम" नाम का एक सबस्ट्रिंग है या नहीं। लेकिन मैं नामों की सूची प्राप्त करने में सफल नहीं रहा हूं, केवल आईडी की प्रक्रिया करता हूं।
मैं इस की कोशिश की है, लेकिन "कोई भी" काम नहीं करता। * 32 को समझाने के लिए धन्यवाद। – Thalia
@emptyheaded बस अपनी फ़ाइल के शीर्ष पर "System.Linq आयात करें" जोड़ें, और किसी को भी काम करना चाहिए। यह एक LINQ एक्सटेंशन विधि है (http://msdn.microsoft.com/en-us/library/bb534972.aspx) –
@ रीड कॉपसी: क्या यह p.ame.Contains के बजाय 'p.ProcessName.Contains' नहीं होना चाहिए? और मुझे यकीन नहीं है कि अगर कोई मामला असंवेदनशील है। अन्यथा कुछ अतिरिक्त। ToUpper प्रक्रिया नाम की खोज करने में मददगार होगा? – PeterCo