我的代码处理 Windows 框上文件夹中的所有文件。我想使用标准的文件选择器对话框为用户(恰好也是我)提供选择要处理的文件夹的选项。
我正在尝试使用GetOpenFileName函数来实现这一点。(我实际上是通过pywin32从 Python 调用它,但这不应该是相关的。)
我可以让它选择一个特定的文件,但我看不到任何让用户选择文件夹的选项。
有没有我不理解的标志组合,我是完全调用了错误的函数还是有另一个习惯用法?
我的代码处理 Windows 框上文件夹中的所有文件。我想使用标准的文件选择器对话框为用户(恰好也是我)提供选择要处理的文件夹的选项。
我正在尝试使用GetOpenFileName函数来实现这一点。(我实际上是通过pywin32从 Python 调用它,但这不应该是相关的。)
我可以让它选择一个特定的文件,但我看不到任何让用户选择文件夹的选项。
有没有我不理解的标志组合,我是完全调用了错误的函数还是有另一个习惯用法?
不幸的是,我认为您完全调用了错误的函数。自从我完成 Win32 gui 的东西以来已经有一段时间了。但我似乎记得有一种不同的方式可以调出“选择目录”框。它不是一个直接的 Win32 函数,而是一些 shell API 函数,需要一大堆代码来完成最简单的事情。
更新:一点谷歌揭示了SHBrowseForFolder功能。
更新二:这是Python 的一个例子。
正如 Greg 提到的,您想要的功能是一个 shell 功能。您需要的特定功能是SHBrowseForFolder
,调用起来非常麻烦。还有提到该示例的PyWin32 文档。browse_for_folder.py