我正在尝试从我的 c# 代码启动cmd.exe
进行调试,但似乎将UseShellExecute
设置为 false 不会显示窗口,这就是我在这里想要的。
但是,我确实需要设置UseShellExecute==false
来设置环境变量。那么有没有另一种方法可以设置所需的环境变量并启动cmd.exe
窗口呢?
string ev_path = System.Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine);
string ev_java = System.Environment.GetEnvironmentVariable("JAVA_HOME", EnvironmentVariableTarget.Machine);
string ev_adt = System.Environment.GetEnvironmentVariable("ANDROID_HOME", EnvironmentVariableTarget.Machine);
ProcessStartInfo _pinfo = new ProcessStartInfo
{
WorkingDirectory = home_drive + @"orderato-android",
FileName = "CMD.exe",
Arguments = "/K ant debug",
UseShellExecute = false
};
_pinfo.EnvironmentVariables["Path"] = ev_path;
_pinfo.EnvironmentVariables["JAVA_HOME"] = ev_java;
_pinfo.EnvironmentVariables["ANDROID_HOME"] = ev_adt;
Process _p = Process.Start(_pinfo);
_p.WaitForExit();
仅重新启动电脑并重试,出于某种原因,该变量仅在您重新启动电脑时在内部更新。