如何获取环境变量名称

时间:2017-02-06 07:37:19

标签: c# environment-variables

我有用户电话' amsd'哪条路径是' C:\ Users \ amsd'。之后我将用户名更改为'其他'。但路径没有改变,它的名字和以前一样。但是现在我要做的是,我需要从当前用户访问该路径。让我们假设我只知道用户名(其他)而不是路径变量名(c:\ users \ amsd)。但我需要访问这条路。我怎样才能做到这一点。我试过System.Environment.GetEnvironmentVariable("other"); 但它的再生物空值

1 个答案:

答案 0 :(得分:0)

我有用户名。所以我所做的是将我的用户名作为参数传递给NTAccount构造函数并获取用户的sid。下面是代码。

NTAccount f = new NTAccount(username);
SecurityIdentifier s  = (SecurityIdentifier)f.Translate(typeof(SecurityIdentifier));
string sid = s.ToString();

之后使用该sid我通过使用以下路径从注册表中读取值来获取配置文件文件夹。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\sid

在该路径下有密钥调用profileimagepath,我可以获取用户个人资料pat