在VC++中使用GetOpenFileName() API打开文件夹而不是文件
Usage of GetOpenFileName() API in VC++ for opening a folder & NOT a file
BOOL WINAPI GetOpenFileName( 进 LPOPENFILENAME lpofn );
用于在VC++程序中打开文件,例如
C:\Hello\World\abc.txt
.但是我想使用此功能选择一个文件夹
C:\你好\世界 在其中安装一个文件。
我想我需要对结构"OPENFILENAME"的成员进行一些更改。任何人都可以知道如何在VC ++程序中实现这一目标。提前谢谢。
GetOpenFileName
根本不支持文件夹选择。
您的选择是:
-
SHBrowseForFolder
在Windows 2000及更高版本上可用,但看起来有点丑。 -
IFileDialog
哪个是平台本机文件夹选择器,但仅在 Vista 或更高版本上可用。若要使对话框充当文件夹选取器,请将FOS_PICKFOLDERS
传递给SetOptions
。
在我看来,用户的最佳结果是在可用的情况下使用IFileDialog
,但回退到旧操作系统的SHBrowseForFolder
。
有ShBrowseForFolder。 如果你搜索,周围有很多C++的例子。
相关文章:
- 如何将更多文件夹添加到c++include路径
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 如何在文档文件夹中创建目录
- "assimp/config.h"找不到,但它在文件夹中
- C++入门 5 版:类消息和文件夹
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 如何按文件扩展名引用文件夹中的文件
- 在QTreeView中仅显示共享驱动器和文件夹
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 介子复制/安装头文件到输出目录并保持文件夹结构
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 在文件夹迭代上实现 RAII
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- 使文件夹中的所有文件可供所有项目(子目录)访问
- 无法使用 CMake 从其他文件夹添加源文件
- 如何在安卓工作室中将c ++头文件从一个文件夹导入到另一个文件夹?
- 对单元测试(googletest)和项目/文件夹/文件的混淆
- 设计文件夹/文件系统