0

用户环境变量对于机器上的每个用户帐户都是独立的。

考虑以下情况,我使用userA非管理员用户帐户登录,现在我想通过使用在的上下文中userB运行的 C# 应用程序来获取/设置其他用户的(比如)环境变量。userA

这可能吗?如果是这样,我该怎么做?

4

1 回答 1

1

环境变量存储在注册表中,因此要为其他用户更改它们,您必须导入他们的注册表配置单元。

用户变量的关键是

HKEY_CURRENT_USER\Environment

系统变量的关键是

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

因此,如果您导入当前用户配置单元,您可以为其他用户更改它,或者对于机器变量,HKLM从任何管理员帐户更改密钥。

不过这很麻烦,我不建议您这样做。

或者您可以使用一些 P/Invoke 来使用Impersonation。

于 2012-06-12T09:29:55.697 回答