【发布时间】:2015-01-19 10:56:27
【问题描述】:
我正在尝试从我的 c# 代码中启动 cmd.exe 进行调试,但似乎将 UseShellExecute 设置为 false 不显示窗口,这正是我想要的在这里。
我愿意need to set UseShellExecute==false however to set the environment variables。那么是否有另一种方法来设置所需的环境变量并启动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();
【问题讨论】:
-
@CodeCaster - 恕我直言,这是一个糟糕的关闭。这个问题一开始的措辞不是很好,但是 OP 已经知道如何设置环境变量。不过,UseShellExceute 标志似乎存在一些问题
-
@CodeCaster - 抱歉。应该查历史。当您关闭问题时,它实际上是一个骗局。现在已经没有了。