如何在用户创建的库中打开 Windows 资源管理器
How to open a Windows Explorer in a user-created library?
最终,我希望能够在C++代码中为文件对话框执行此操作,但是能够从命令行执行此操作将是一个好的开始...
对于"标准"库 - 文档,音乐,图片和视频 - 我知道有特殊的"shell:"名称有效(在此处列出)。
所以,例如,
explorer.exe shell:PicturesLibrary
将直接在图片库视图中打开资源管理器。
但是我创建了一个新库,比如"我的图书馆",我找不到任何直接在"我的图书馆"中打开资源管理器的方法。 到目前为止,我能做的最好的事情就是打开"shell:Libraries"并强制用户从那里下降。
有人知道吗?
此控制台应用首先使用 SHGetKnownFolderPath 获取用户库文件夹的路径。 然后,它使用 ShellExecute 来"浏览"此目录中的"我的库"库文件。
SHGetKnownFolderPath 给出的字符串由 CoTaskMemFree 释放。 另外,SHGetKnownFolderPath没有ANSI版本,所以我只是将所有内容都设置为宽字符显式。
不包括错误检查,因此您可能需要添加它。
#include <Windows.h>
#include <Shellapi.h>
#include <Shlobj.h>
int main() {
PWSTR libraries_path = NULL;
SHGetKnownFolderPath(FOLDERID_Libraries, 0, NULL, &libraries_path);
ShellExecuteW(NULL, L"explore", L"My Library.library-ms",NULL,libraries_path,SW_SHOW);
CoTaskMemFree(libraries_path);
}
从命令行中,这将执行类似操作:
"%appdata%MicrosoftWindowsLibrariesMy Library.library-ms"
相关文章:
- Windows 资源管理器中的图标在使用 resource.rc 时显示 2 个不同的图标
- Windows 资源管理器打开文件夹还原
- 如何在 Windows 资源管理器中捕获用户的左键单击?
- Windows 资源管理器右键单击文件和文件夹的上下文菜单
- Windows 资源管理器覆盖图标 - 如何开始
- IShellFolder.EnumObjects-windows资源管理器上的异步
- QTreeWidget:类似于Windows资源管理器的编辑
- MFC:类似于Windows资源管理器的应用程序,可以与主线程并行导出文件
- 无法在Eclipse中运行SDL程序,但可以在Windows资源管理器中运行
- Qt应用程序中的Windows资源管理器
- 在 Windows 资源管理器中更改当前路径
- 如何拦截从Windows资源管理器启动的exe文件
- 在 C++ 中打开 Windows 资源管理器窗口
- 如何显示 Windows 资源管理器上下文(右键单击)菜单
- 如何在 Windows 资源管理器中嵌入我的 GUI
- 检索 Windows 资源管理器的地址栏编辑控件的句柄
- 如果Windows资源管理器正在运行,Direct3D应用程序运行良好,否则速度会非常慢
- 在windows资源管理器中复制文件夹
- QT应用程序在Windows资源管理器上不起作用?
- 如何在Windows资源管理器中获得由_rmdir删除的目录以立即更新