C#等到过程完成

时间:2018-11-18 15:13:52

标签: c# process

我在理解如何等待启动的过程时遇到问题。 我的想法是使用_isInstalling之类的布尔标志,但失败了。

似乎执行是在不同的后台线程中进行的。 我如何等待过程完成然后继续?

谢谢。

// Flag if java is installed
private bool _isInstalling;

public bool JavaIsInstalled
{
   get { return _isInstalling; }
   set { _isInstalling = value; }
}

 public void executeCmdCommand(string argument)
        {
            var arg0 = argument; // Path

            System.Diagnostics.Process process = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName = "cmd.exe";
            startInfo.Arguments = "/C " + arg0;
            process.StartInfo = startInfo;

            // Set flag that it is installing
            MessageBox.Show("is installting");
            _isInstalling = true;
            process.Start();

            MessageBox.Show("finished installing");
            // Set flag that is finished installing
            _isInstalling = false;
        }

0 个答案:

没有答案