通过文件浏览器获取文件夹目录

时间:2018-01-11 19:09:23

标签: c++ windows directory

我正在开发一个基本的3D可视化项目,但遇到了减速带。

该应用程序为您提供了创建新项目的选项。我需要的是打开Windows文件浏览器让用户选择一个目录来设置项目。

目前我使用此

const int BUFSIZE = 1024;
char buffer[BUFSIZE] = { 0 };
OPENFILENAME ofns = { 0 };
ofns.lStructSize = sizeof(ofns);
ofns.lpstrFile = buffer;
ofns.nMaxFile = BUFSIZE;
ofns.lpstrTitle = "Select Directory";
GetOpenFileName(&ofns);
std::string directory = buffer;

但是这会强制您选择一个文件,这意味着它不能是一个空文件夹(需要它)。

使用c ++通过文件浏览器获取空文件夹的目录需要什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用IFileSaveDialog显示仅为目录的接口。

创建一个获取IFileSaveDialog接口的CLSID_FileSaveDialog,然后使用SetOptions调用至少指定FOS_PICKFOLDERS