我正在尝试运行下面的代码,但我不断收到错误"索引数小于索引数组的维数"。我正在尝试编写一个代码,找到名为" Inventor"的所有进程,并杀死那些没有可见窗口的进程。
Private Sub CheckIfRunning()
p = Process.GetProcessesByName("Inventor")
If p.Count > 0 Then
For i = 1 To p.Count
If p().MainWindowTitle Is Nothing Then
p().Kill()
MessageBox.Show("Killed")
End If
Next
Else
MessageBox.Show("none")
End If
End Sub
我完全不知道如何称呼每个人"发明者"过程中的" p"数组,我已经浏览了整个网络。我觉得答案应该很简单。任何帮助表示赞赏。
答案 0 :(得分:1)
错误是因为您正在使用p()
而未指定要访问的阵列的哪个成员。这是另一种选择。
Private Sub CheckIfRunning()
Dim killed As Integer
For Each proc As Process in Process.GetProcessesByName("Inventor")
If String.IsNullOrEmpty(proc.MainWindowTitle) Then
proc.Kill()
MessageBox.Show("Killed")
killed += 1
End If
Next
If killed = 0 Then MessageBox.Show("none")
End Sub