2012-04-11 14 views
0

私はそれが複数のプロセスを殺すために取得するように見えることはできませんしかし、私は現在、VS 2010でVBでいくつかのプロセスを終了しますか?

 Dim myProcess() As Process = System.Diagnostics.Process.GetProcessesByName("calc") 

    For Each myKill As Process In myProcess 
     myKill.Kill() 

に追従持っています。 例試しました

("calc",mspaint") 
("calc,mspaint") 
("calc"),("mspaint") 

アイデアをお持ちですか?お時間/サポートのための おかげGetProcessByNameのMSDNドキュメントから

答えて

2

引用:

が新しいプロセスコンポーネントの配列を作成し、すべての共有指定されたプロセス 名前 既存のプロセスリソースとそれらを関連付けます。

あなたは、GetProcessesメソッドを使用してすべてのプロセスを取得するすべてのプロセスを反復処理し、その名前が一致した場合、あなたがしたい名前のいずれかを確認することができ、it.Insteadに引数の配列を渡すことはできません。

Dim procs = System.Diagnostics.Process.GetProcesses().Where((Function(p) p.ProcessName = "calc" Or p.ProcessName = "mspaint")) 
      For Each p As Process In procs 
       p.Kill() 
      Next 

非LINQの道:

For Each p As Process In Process.GetProcesses() 
      If p.ProcessName = "calc" Or p.ProcessName = "mspaint" Then 
       p.Kill() 
      End If 
     Next 
+0

感謝:)動作します。しかし私は2つ以上を殺したいと思ったのですか? (私はその間に自分で作業します) –

+0

NVMの最後のコメント、私はこれを行いましたProcess In Process.GetProcesses() p.ProcessName = "calc"またはp.ProcessName = "mspaint"またはp.ProcessName = "pidgin" Then p.Kill() 終了の場合 次へ –

+0

彼が試したコードが機能しない理由を説明するのを忘れました。 –

関連する問題