2012-11-07 25 views
1

在我的應用程序中,用戶單擊一個按鈕,然後加載一個表單,在這個表單中有一個組合框,它會生成一個窗口進程列表並顯示窗口名稱。在combobox中顯示進程有問題

它一直工作正常,在Visual Studio中,雖然當我啓動編譯版本,我總是得到這個錯誤「進程{0}沒有找到。

我認爲,這表示它沒有進程讀取,所以我加了一些如果金額大於或等於1,沒有幫助的代碼只顯示

有誰看到我的問題

 Dim ProcessList() As Process = Process.GetProcesses 
    If ProcessList.Count() >= 1 Then 
     For I = 0 To UBound(ProcessList) 
      If ProcessList(I).MainWindowTitle.ToString = "" = False Then 
       ComboBox1.Items.Add(ProcessList(I).MainWindowTitle.ToString) 
      End If 


     Next 
    Else 
     ComboBox1.Items.Add("No windows found") 
    End If 
+0

嘗試以管理員身份運行 –

+0

如果您在開發環境中查看進程,那麼他們是您的應用程序還是Visual Studio? –

回答

0

我不能複製你的問題,我已經沒有任何錯誤,並從與可執行文件運行在Visual Studio代碼沒有錯誤。在網上查找錯誤時,它不是描述性的,表明該過程不可訪問該功能。您可以嘗試添加一些額外的支票,並且如果您擁有Visual Studio Professional或更高版本,則可以將attach Visual Studio添加到您的可執行文件中,並以這種方式排除錯誤。這是我用來測試的代碼。

Public Class Form1 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
     Dim ProcessList() As Process = Process.GetProcesses 
     If ProcessList.Count() >= 1 Then 
      For Each p As Process In ProcessList 
       If Not IsNothing(p) Then 
        If Not String.IsNullOrEmpty(p.MainWindowTitle) Then 
         ComboBox1.Items.Add(p.MainWindowTitle.ToString) 
        End If 
       End If 
      Next 
     Else 
      ComboBox1.Items.Add("No windows found") 
     End If 
    End Sub 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
     Dim ProcessList() As Process = Process.GetProcesses 
     If ProcessList.Count() >= 1 Then 
      For Each p As Process In ProcessList 
       If Not IsNothing(p) Then 
        ComboBox1.Items.Add(p.ProcessName) 
       End If 
      Next 
     Else 
      ComboBox1.Items.Add("No windows found") 
     End If 
    End Sub 
End Class 
0

改變這一行:?

For I = 0 To UBound(ProcessList) 

要:

For I = LBound(ProcessList) To UBound(ProcessList) 

在VB中,一些陣列從1開始

+0

自從VB6以來,由System.Diagnostics.GetProcesses返回的任何集合將基於零 –

+0

對不起,我不在家,所以我還沒有嘗試過。馬克你有什麼想法,爲什麼它不工作?就像我說的那樣,它只發生在一個編譯調試/發佈版本。 – user1632018

+0

@ user1632018我的第一個猜測會是一個權限問題,請嘗試右鍵單擊您的exe並以管理員身份運行 –