关闭包含特定字符串的进程

时间:2014-05-05 16:09:02

标签: c# winforms process kill system.diagnostics

我需要关闭一个包含单词" SoundCloud" 我尝试了这个但是不工作它确实显示了带有全名的消息框但是没有关闭应用程序错误system.indexoutofRangeException

 private void getprocess()
    {
        StringBuilder sb = new StringBuilder();
        richTextBox1.Clear();
        int i = 1;
        foreach (Process p in Process.GetProcesses("."))
        {
            try
            {
                if (p.MainWindowTitle.Length > 0)
                {

                    if (p.MainWindowTitle.Contains("SoundCloud"))
                    {
                        timer1.Stop();
                        timer1.Enabled = false;
                        MessageBox.Show("Close "+p.MainWindowTitle.ToString());
                        Process[] proc =      Process.GetProcessesByName(p.MainWindowTitle.ToString());
                        proc[0].Kill();

                    }
                    richTextBox1.AppendText("\n"+i.ToString()+" ). " + p.MainWindowTitle.ToString());
                    i++;

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

1 个答案:

答案 0 :(得分:1)

只需省略GetProcesssByName部分,然后致电p.Kill()。这将在主窗口标题中使用“SoundCloud”终止任何进程。