我正在調用像這樣外部流程的應用程序:通定製環境變量的System.Diagnostics.Process
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;
}
一個我打電話的過程取決於一個環境變量,我d而不是要求我的用戶設置。有沒有辦法修改發送到外部進程的環境變量?理想情況下,我可以讓它們只對正在運行的進程可見,但如果我必須以編程方式將它們設置爲系統範圍,那麼我會解決這個問題(但是,UAC是否會迫使我以管理員身份運行? )
ProcessStartInfo.EnvironmentVariables是隻讀的,所以很多的幫助,這是...
你沒有對外部進程控制?否則,如果你這樣做,爲什麼你不能通過它作爲一個論據呢? –