2015-09-06 2 views
-1

Я создаю программу в VB, целью которой является запуск в фоновом режиме и автоматическое обновление других программ, которые я создал. Для этого необходимо проверить, продолжают ли эти программы работать, и, если они есть, дождитесь их закрытия.Отсутствует метод GetProcessesByName VB.NET

К сожалению, программа не сработает. Исключение: GetProcessesByName не является членом String. (The строка это относится к является параметром Process показано в коде ниже.)

Я не могу понять, почему это происходит, потому что этот метод всегда работал без проблем. Я использую Visual Studio 2015 для справки, вот код блока:

Private Function CheckIfRunning(Process As String) As Boolean 
    Dim MyProcess() As Process 

    MyProcess = Process.GetProcessesByName("ProcessName") 
    If MyProcess.Count > 0 Then 
     Return True 
    Else 
     Return False 
    End If 
End Function 
+0

Вы пытаетесь использовать статический метод в классе 'Process'? Попробуйте переименовать параметр функции на что-то еще. –

+0

В этом была проблема. Теперь я чувствую себя глупо. –

ответ

3

Попробуйте использовать System.Diagnostics.Process.GetProcessesByName («ProcessName»)

Поскольку вы объявили Process как string, Process.GetProcessesByName ссылается на строку вместо метода System.Diagnostics. Кроме того, вы можете использовать другое имя для параметра string.

+1

Это странно. Я никогда бы не попробовал что-то настолько простое. Я предположил, что импортируя System.Diagnostics, мне не нужно будет указывать строку в строке. я идиот –

Смежные вопросы