我在理解如何等待启动的过程时遇到问题。 我的想法是使用_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;
}