gpt4 book ai didi

c++ - 在 Windows 上从 SYSTEM 服务获取用户文档文件夹。 C++

转载 作者:行者123 更新时间:2023-11-28 01:38:47 25 4
gpt4 key购买 nike

我正在使用 winApi c++ 创建 Windows 服务。该服务由 SYSTEM 用户开始工作。如何获取当前用户文档文件夹?

我知道方法

TCHAR DocumentsPath[MAX_PATH];
SHGetSpecialFolderPath(NULL, DocumentsPath, CSIDL_PERSONAL, TRUE);

但是,它返回其他文件夹,因为服务是从 SYSTEM 工作的。

有什么解决办法吗?

最佳答案

谢谢你 RbMm。

它工作正常:

    ULONG SessionId = WTSGetActiveConsoleSessionId(); 
if (SessionId != MAXDWORD)
{
HANDLE hToken;
if(WTSQueryUserToken(SessionId, &hToken))
{
WCHAR DocumentsPath[MAX_PATH];
SHGetFolderPath(0, CSIDL_PERSONAL, hToken, SHGFP_TYPE_CURRENT, DocumentsPath);
CloseHandle(hToken);
}
}

关于c++ - 在 Windows 上从 SYSTEM 服务获取用户文档文件夹。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com