用户环境变量对于计算机上的每个用户帐户是独立的。
请考虑以下情况,我使用userA
登录非管理员用户帐户,现在我想通过使用C#应用程序来获取/设置其他用户(比如说userB
)环境变量userA
的背景。
这可能吗?如果是这样,我怎么能这样做?
答案 0 :(得分:1)
环境变量存储在注册表中,因此要为其他用户更改它们,您必须导入其注册表配置单元。
用户变量的关键是
HKEY_CURRENT_USER\Environment
和系统变量的关键是
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
因此,如果您导入当前用户配置单元,则可以为其他用户更改它,或者对于计算机变量,可以从任何管理员帐户更改HKLM
密钥。
虽然这很麻烦但我不建议你这样做。
或者你可以使用一些P / Invoke来使用Impersonation.