对于一组进程,索引数小于维数

时间:2015-07-27 17:21:35

标签: arrays vb.net

我正在尝试运行下面的代码,但我不断收到错误"索引数小于索引数组的维数"。我正在尝试编写一个代码,找到名为" 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"数组,我已经浏览了整个网络。我觉得答案应该很简单。任何帮助表示赞赏。

1 个答案:

答案 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