我们如何在 c# 中设置/获取其他用户的环境变量

本文关键字:其他 获取 用户 环境变量 设置 我们 | 更新日期: 2023-09-27 18:37:04

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

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

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

我们如何在 c# 中设置/获取其他用户的环境变量

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

用户变量的键是

HKEY_CURRENT_USER'Environment

系统变量的关键是

HKEY_LOCAL_MACHINE'SYSTEM'CurrentControlSet'Control'Session Manager'Environment

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

虽然这很混乱,但我不建议你这样做。

或者,您可以使用一些 P/Invoke 来使用模拟。