Я пытаюсь выяснить, запущен ли экземпляр приложения (а не vb.net), потому что я хочу его запустить, но я не хочу его запускать, если он уже запущен. Я нашел решение, чтобы проверить, если процесс выполняется:Как получить список имен процессов в VB.NET?
Dim proc As Integer = Process.GetProcessesByName(ProcessName).GetUpperBound(0) + 1
и вернуть истину, если> = 1 (или просто номер процесса).
Моя проблема заключается в том, что это приложение стороннего производителя, и его имя процесса - это не просто имя, но оно содержит номер версии (который, возможно, не знаю во время выполнения), и он также добавляет * 32 (возможно, возможно, * 64, если он установлен в x64?).
Мне нужно получить список запущенных процессов, по имени и тесту, если «имя процесса» является подстрокой имени. Но мне не удалось получить список имен, только идентификатор процесса.
Я попытался это, но "любой" не работает. Спасибо, что объяснили * 32. – Thalia
@emptyheaded Просто добавьте «Import System.Linq» в верхней части файла, и Any должен работать. Это метод расширения LINQ (http://msdn.microsoft.com/en-us/library/bb534972.aspx) –
@Reed Copsey: Не должно быть «p.ProcessName.Contains» вместо p.Name.Contains? И я не уверен, что. Любой случай чувствителен. Иначе какой-нибудь дополнительный .ToUpper был бы полезен для поиска имени процесса? – PeterCo