如何从WindowsService获取当前用户配置文件位置

时间:2018-07-10 16:24:55

标签: c#

如果我是通过WindowsService调用的:

var userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);

由于该服务在系统级别运行,因此我会从这些方面得到一些帮助:

C:\Windows\system32\config\systemprofile\

我感兴趣的是当前登录用户的用户个人资料。

C:\Users\username\

想法?

1 个答案:

答案 0 :(得分:1)

通常,服务不会加载用户配置文件。您可以加载它(https://docs.microsoft.com/en-us/windows/desktop/api/userenv/nf-userenv-loaduserprofilew),但是通常对此并不满意。

您说您“对当前登录用户的用户个人资料感兴趣”。那不是标题真正的含义。

运行服务时,当前登录的用户可能有0、1或多个。在上一篇文章中介绍了获取用户列表的方法:

How to get list of all logged in users using

但是请记住,结果可能为0、1或多个。