gpt4 book ai didi

GetOpenFileName 能否将文件选择限制为与过滤器匹配的文件?

转载 作者:行者123 更新时间:2023-12-04 13:38:59 28 4
gpt4 key购买 nike

我使用带有 OPENFILENAME 结构的 GetOpenFileName,该结构使用 lpstrFilter 将文件过滤为 *.JPG。但是,在文件打开对话框中,对于文件名,用户可以输入 *.XLS 并查看同一文件夹中的每个 Excel 文件,然后选择打开 XLS 文件。我想阻止用户这样做。例如,我想真正限制它们只能选择 JPG 文件。有办法做到这一点吗?

最佳答案

OPENFILENAME结构中,启用OFN_EXPLOREROFN_ENABLEHOOK标志,并提供指向Explorer-style callback function的指针。在 lpfnHook 字段中。当回调收到 CDN_FILEOK通知,您可以验证输入的文件(不仅仅是文件名,甚至是实际的文件内容,如果需要的话),然后返回适当的返回值以接受/拒绝选择:

If the hook procedure returns zero, the dialog box accepts the specified file name and closes.

To reject the specified file name and force the dialog box to remain open, return a nonzero value from the hook procedure and call the SetWindowLong function to set a nonzero DWL_MSGRESULT value.

关于GetOpenFileName 能否将文件选择限制为与过滤器匹配的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43725674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com