bwe*_*ber 0 c++ windows path startmenu
我正在寻找一种方法来检索C++中所有用户开始菜单目录的路径.我只能得到当前用户之一(使用Qt):
QString startMenuPath = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation).at(0);
Run Code Online (Sandbox Code Playgroud)
但是,Qt不允许为所有用户检索一个.据我所知,也没有包含该路径的环境变量,我可以阅读.
要获取已知文件夹,请使用SHGetFolderPath并传递KNOWNFOLDERID或CSIDL为所需文件夹.
例如,以下代码获取所有用户Start Menu和Programs文件夹:
// Remember to #include <Shlobj.h>
WCHAR path[MAX_PATH];
HRESULT hr = SHGetFolderPathW(NULL, CSIDL_COMMON_PROGRAMS, NULL, 0, path);
if (SUCCEEDED(hr))
std::wcout << L"Start Menu\Programs: " << path << std::endl;
hr = SHGetFolderPathW(NULL, CSIDL_COMMON_STARTMENU, NULL, 0, path);
if (SUCCEEDED(hr))
std::wcout << L"Start Menu: " << path << std::endl;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1581 次 |
| 最近记录: |