如果我是通过WindowsService调用的:
var userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
由于该服务在系统级别运行,因此我会从这些方面得到一些帮助:
C:\Windows\system32\config\systemprofile\
我感兴趣的是当前登录用户的用户个人资料。
C:\Users\username\
想法?
答案 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或多个。