2015-09-06 91 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假定我不必指定内联。我是个白痴 –