日期:2014-05-17  浏览次数:20958 次

当前WinForm程序强制关闭另一个WinForm程序,遇到的一个问题?
当前WinForm程序强制关闭另一个WinForm程序,
因为另一个程序在运行的时候会在任务栏上显示一个图标,
所以在强制杀除时,任务栏上的图标没有消失,要通过鼠标移到任务栏上的图片上,才会消失。
求如何解决?

代码如下:

        /// <summary>
        /// 杀死应用程序
        /// </summary>
        /// <param name="appname"></param>
        protected void KillMainApp(string mainAppExe)
        {            
            Process[] allProcess = Process.GetProcesses();
            foreach (Process p in allProcess)
            {
                if (p.ProcessName.ToLower() + ".exe" == mainAppExe.ToLower())
                {
                    if (p.CloseMainWindow() == false)
                    {
                        p.Kill();
                        Thread.Sleep(1500);
                        LogHelper.WriteLog("kill"+ p.ProcessName);
                    }
                    else
                    {
                        p.WaitForExit(5000);
                        LogHelper.WriteLog("close" + p.ProcessName);
                    }