在 c# windows 服务中访问当前登录的用户下载文件夹
Access Current logged in Users download folder in c# windows service
我有 windows 服务,使用 service.msc 使用 c# 部署,
我想访问当前登录用户的下载文件夹
例如:如果当前登录的用户名是admin,那么我想访问
C:\Users\admin\Downloads
如果当前登录的用户名是tomas,那么我想访问
C:\Users\tomas\Downloads.
您可以使用 SHGetKnownFolderPath(FOLDERID_Downloads)
,为所需的用户帐户传递令牌。诀窍在于知道您想要哪个用户。可能有多个用户同时登录。可能根本没有用户登录。如果您的服务在 SYSTEM 帐户下 运行,它可以通过 WTSEnumerateSessions()
枚举活动用户会话并通过 WTSQueryUserToken()
.
获取他们的用户令牌
我有 windows 服务,使用 service.msc 使用 c# 部署,
我想访问当前登录用户的下载文件夹
例如:如果当前登录的用户名是admin,那么我想访问
C:\Users\admin\Downloads
如果当前登录的用户名是tomas,那么我想访问
C:\Users\tomas\Downloads.
您可以使用 SHGetKnownFolderPath(FOLDERID_Downloads)
,为所需的用户帐户传递令牌。诀窍在于知道您想要哪个用户。可能有多个用户同时登录。可能根本没有用户登录。如果您的服务在 SYSTEM 帐户下 运行,它可以通过 WTSEnumerateSessions()
枚举活动用户会话并通过 WTSQueryUserToken()
.