什么是文件夹的 lpstr 过滤器?

What is the lpstr filter for folders?

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

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

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

您需要在启用 FOS_PICKFOLDERS 选项的情况下使用 SHBrowseForFolder() instead, or in Vista+ you can (and should) use the newer IFileOpenDialog Common Item Dialog