通过文件资源管理器获取文件夹目录

Get folder directory via file explorer

本文关键字:文件夹 获取 资源管理器 文件      更新时间:2023-10-16

我正在做一个基本的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++ 通过文件资源管理器获取空文件夹的目录?

谢谢!

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

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