很多软件关闭后,只是窗口销毁,而进程还在不知道能不能结束已经结束软件的进程

解决方案 »

  1.   

    private void KillProcess(string processName)
    {
    System.Diagnostics.Process myproc= new System.Diagnostics.Process();
    //得到所有打开的进程
    try
    {
    foreach (Process thisproc in Process.GetProcessesByName(processName)) 
      //循环查找
    {
    if(!thisproc.CloseMainWindow())
    {
    thisproc.Kill();
    }
    }
    }
    catch
    {
    Memo1.Text+= "杀死" + processName + "失败!"; 

    }
      

  2.   

    进程还在是因为期间还有线程在继续运行
    解决方法有二:
    一、所有线程使用后台线程,即Thread.IsBackground = true;
    这样当Application退出的时候线程也会自动终止。
    二、设置全局运行标志,在线程函数关键位置检测标志的状态,退出时还原标志让线程运行函数退出。
      

  3.   


    顶,手动去kill,总会有出问题的,不如交给系统自己做
      

  4.   


    //退出时使用这个方法退出
    Application.ExitThread();
    这样应该就可以了