编写程序,运行后即替换原来的程序,都是可执行文件,文件名是一样的,而且原来程序正在执行。
一开始想先杀掉进程然后覆盖,可是进程名一样,该怎样处理该问题呢?

解决方案 »

  1.   

    获取原来程序的PID,然后Kill掉.
      

  2.   

    Process currentProcess = Process.GetCurrentProcess();
    Process[] processes = Process.GetProcessesByName(currentProcess.ProcessName);
                    foreach (Process process in processes)
                    {
                        if (process.Id != currentProcess.Id)
                        {
                            process.Kill();
                            process.WaitForExit();
                        }
                    }System.IO.File.Copy(currentFile, targetFile, true);在执行复制的时候还是提示文件正在使用,是不是进程没有完全杀死啊