2015-09-06 90 views
-1

我正在VB中構建一個程序,其目的是在後臺運行並自動更新我創建的其他程序。要做到這一點,它必須檢查這些程序是否仍在運行,如果它們正在等待它們關閉。VB.NET GetProcessesByName方法丟失

不幸的是,該程序不會編譯。例外狀態:GetProcessesByName不是String的成員。(該字符串它指的是在下面的代碼所示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作爲字符串參數,Process.GetProcessesByName引用字符串而不是System.Diagnostics方法。或者,您可以爲字符串參數使用不同的名稱。

+1

這是離奇的。我從來不會嘗試過這麼簡單的事情。我通過導入System.Diagnostics假定我不必指定內聯。我是個白癡 –