我正在开发一个调用外部进程的应用程序,如下所示:
ProcessStartInfo startInfo = new ProcessStartInfo(PathToExecutable, Arguments){
ErrorDialog = false,
RedirectStandardError = true,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
WorkingDirectory = WorkingDirectory
};
using (Process process = new Process()) {
process.StartInfo = startInfo;
process.Start();
process.BeginErrorReadLine();
process.BeginOutputReadLine();
process.WaitForExit();
return process.ExitCode;
}
我正在调用的进程之一取决于我不希望我的用户设置的环境变量。有没有办法修改发送到外部进程的环境变量?理想情况下,我可以让它们只对正在运行的进程可见,但如果我必须以编程方式在系统范围内设置它们,我会满足于此(但是,UAC 会强迫我以管理员身份运行吗? )
ProcessStartInfo.EnvironmentVariables 是只读的,所以很多帮助就是......