-2

我试图打开一个对话框,用户在其中选择纯 C++ 上的某个文件夹,没有 .Net 框架或 C#,并且正在努力寻找 lpstr 如何过滤除目录之外的所有内容。我目前正在使用 OPENFILENAME 函数。我尝试过滤到 .dir,但它不起作用。有人知道实际的扩展名或任何解决方案吗?

4

2 回答 2

0

最终使用 SHBrowseForFolder() https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbrowseforfoldera

于 2022-01-23T06:12:09.523 回答
0

OPENFILENAME结构与旧的Common Dialog Box一起使用,不能用于选择文件夹。它根本不是为此目的而设计的。GetOpenFileName()

您需要改为使用SHBrowseForFolder(),或者在 Vista+ 中,您可以(并且应该)使用启用了该选项的更新的Common Item Dialog 。IFileOpenDialog FOS_PICKFOLDERS

于 2022-01-23T06:41:44.423 回答