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

C# 关于线程的问题

            Process MyProcess = new Process();
            MyProcess.StartInfo.FileName = "\\Flash Disk\\emsprocess\\EMSProcessBack.exe";
            MyProcess.StartInfo.Verb = "Open";

            MyProcess.Start();
            this.label1.Text = "数据重新加载,请稍候...";
            this.label1.Refresh();
            Application.DoEvents();
            Thread.Sleep(10000);

            this.Dispose();
            Thread.CurrentThread.Abort();

            Application.Exit();


遇到的问题打开这个EMSProcessBack.exe会覆盖原来的程序,但是原来的程序被占用的了,好像是线程没有结束。 我下面已经把线程关了为什么还出现这种状况,有什么解决方法没?
C# 多线程

------解决方案--------------------
你没有关闭EMSProcessBack.exe,当然不能覆盖了,你退出的是当前程序,不是打开的EMSProcessBack.exe
------解决方案--------------------
这个跟本程序线程没有任何关系  
------解决方案--------------------
你可以试试直接把EMSProcess线程Kill了, 
------解决方案--------------------
Kill
------解决方案--------------------
Process MyProcess = new Process();
            MyProcess.StartInfo.FileName = "\\Flash Disk\\emsprocess\\EMSProcessBack.exe";
            MyProcess.StartInfo.Verb = "Open";
 
            MyProcess.Start();