1 Windows系统获取桌面路径
可使用以下代码获取桌面路径:
#include <iostream>
#include <string>
#include<Windows.h>
#include "shlobj.h"
std::string GetDesktopPath()
{
LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
char szDir[MAX_PATH];
if (SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if (SUCCEEDED(SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl)))
{
SHGetPathFromIDListA(pidl, szDir);
pShellMalloc->Free(pidl);
}
pShellMalloc->Release();
}
return std::string(szDir);
}
int main()
{
std::string desketop_path = GetDesktopPath();
std::cout << "desketop path : " << GetDesktopPath() << std::endl;
return 0;
}
其中,CSIDL_DESKTOP
对应系统中桌面的路径,我们也可以通过SHGetSpecialFolderLocation
函数获取其他的路径。
例如:
- CSIDL_BITBUCKET:回收站
- CSIDL_CONTROLS:控制面板
- CSIDL_DESKTOP:桌面
- CSIDL_DESKTOPDIRECTORY
- CSIDL_DRIVES:我的电脑
- CSIDL_PERSONAL:我的文档
- CSIDL_RECENT:最近打开文档
- CSIDL_STARTUP:启动目录
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – Windows系统获取桌面路径
原文链接:https://www.stubbornhuang.com/2586/
发布于:2023年04月07日 13:12:27
修改于:2023年06月21日 16:50:36
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52