【问题标题】:Define virtual system variables for children applications [duplicate]为子应用程序定义虚拟系统变量[重复]
【发布时间】:2015-09-07 05:25:08
【问题描述】:

我目前正在开发一个可以在给定虚拟环境下运行其他应用程序的程序。我正在像这样运行另一个应用程序:

Process app = new Process();
app.StartInfo.FileName = @"W:\path\to\app\some.exe";
app.EnableRaisingEvents = true;
app.Start();

现在我遇到了一个问题,需要更改一些系统变量以运行应用程序。我已经对此进行了谷歌搜索,但找不到解决方案。有人知道如何解决这个问题,请帮助我?
谢谢。

更新

例如,我想为子应用程序设置另一个PATHJAVA_HOMEAppData 变量。应用程序可以是:Google ChromeNotepad++ 或简单的.bat 命令行脚本。

【问题讨论】:

  • 您要更改哪些系统变量?
  • 你的exe在不改变系统变量的情况下直接运行是否正常?
  • @S.Spieker 例如PATHJAVA_HOME 甚至AppData
  • @amitdayama 是的,这是一个简单的应用程序,甚至是一个 bat 文件。
  • 那么在这种情况下,您不需要更改系统变量。如果您在访问 exe 文件时更改工作目录,那么我想它会起作用

标签: c#


【解决方案1】:

假设您需要更改路径变量

string pathvariable=Environment.GetEnvironmentVariable("Path");
Environment.SetEnvironmentVariable("Path",pathvariable+";"+"*you new value of path variable*");

如果你的 exe 文件在你直接访问它时工作正常,那么你不需要更改你的系统变量。如果你在访问 exe 文件时更改你的工作目录,那么我猜它会工作

【讨论】:

  • 你不认为这会改变系统 PATH 变量,而不是子应用程序的虚拟变量吗?
猜你喜欢
  • 2012-10-21
  • 2012-12-19
  • 2010-09-14
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2014-01-27
  • 2020-02-08
相关资源
最近更新 更多