none
c# 程序运行到Process.WaitForExit();时,程序的界面就锁死,这个要怎么解决啊? RRS feed

  • 问题

  •         private void button4_Click(object sender, EventArgs e)
            {
                #region 打开外部exe程序
                Process myProcess = new Process();      
                myProcess.StartInfo.UseShellExecute = false;
                myProcess.StartInfo.FileName = textBox1.Text;
                myProcess.StartInfo.CreateNoWindow = true;
                myProcess.EnableRaisingEvents = true;
                myProcess.Start();
                #endregion
    
                myProcess.WaitForExit();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.Close();
            }



    当程序运行到myProcess.WaitForExit();时,程序的主界面就锁死了(不能进行任何操作),

    怎么才能够在不关闭外部程序(如f3300.exe)的情况下,实现对主界面的操作,点击CLOSE

    来关闭界面和外部程序?

    2014年3月13日 5:54

全部回复

  • 把 button4_click 中的所有代码放到 Thread 中去执行。

    2014年3月13日 9:01
  • Hi,因为myProcess.WaitForExit()后面并没有任何代码,所以这行代码是没有意义的,你可以把myProcess.WaitForExit()去掉。去掉后并不会影响你打开的外部exe程序的运行。
    2014年3月13日 10:48