启动 CMD.exe设置环境变量不显示窗口



我正在尝试从我的 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();

仅重新启动电脑并重试,出于某种原因,该变量仅在您重新启动电脑时在内部更新。

最新更新