c# - 如何从 WindowsService 获取当前用户配置文件位置
问题描述
如果我从 WindowsService 中调用它:
var userPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
由于服务在系统级别运行,因此我将得到这些方面的信息:
C:\Windows\system32\config\systemprofile\
我感兴趣的是当前登录用户的用户配置文件。
C:\Users\username\
想法?
解决方案
通常,服务不会加载用户配置文件。您可以加载它(https://docs.microsoft.com/en-us/windows/desktop/api/userenv/nf-userenv-loaduserprofilew),但这通常是不受欢迎的。
您说您“感兴趣的是当前登录用户的用户配置文件”。这并不是您帖子标题所暗示的真正含义。
服务运行时,当前登录的用户可能有 0 个、1 个或多个。在上一篇文章中描述了获取用户列表:
但请记住,可能有 0、1 或多个结果。
推荐阅读
- swift - 为 swift 实现 MongoDB 数据侦听器
- node.js - 是否可以在 Node.js 中的数组上使用 Grover 的搜索算法?
- google-sheets - Sheets-如何快速计算一组骰子的标准差?
- reactjs - 如何在 TypeScirpt 中获取泛型类型名称?
- excel - Excel - 如何将年、周数和星期几的组合转换为日历日?
- python - 如何将列表中的python字符串转换为拆分字符串
- mongodb - 如何获取 Mongodb 集合创建脚本?
- apache-flink - Flink SQL (V 1.12.1) 无法从 Kinesis 流中读取 debezium 更新日志
- javascript - 如何修复 react-timeago 不自行更新
- microsoft-dynamics - 动态门户 启用门户的上次登录联系人