0

BOOL WINAPI GetOpenFileName( Inout LPOPENFILENAME lpofn );

用于在 VC++ 程序中打开文件,比如说

C:\你好\世界\abc.txt

. 但我想用这个功能来选择一个文件夹

C:\Hello\World 里面有一个文件。

我想我需要对结构“OPENFILENAME”的成员进行一些更改。任何人都可以让我知道如何在 VC++ 程序中实现这一点。提前致谢。

4

2 回答 2

4

GetOpenFileName根本不支持文件夹选择。

您的选择是:

  • SHBrowseForFolder它在 Windows 2000 及更高版本上可用,但看起来有点难看。
  • IFileDialog这是平台本机文件夹选择器,但仅适用于 Vista 或更高版本。要使对话框充当文件夹选择器,请传递FOS_PICKFOLDERSSetOptions.

在我看来,对用户来说最好的结果是在可用的IFileDialog地方使用,但回退到SHBrowseForFolder旧操作系统。

于 2013-01-30T09:10:10.517 回答
1

ShBrowseForFolder。如果您搜索,周围有很多 C++ 示例。

于 2013-01-30T04:45:09.803 回答