gpt4 book ai didi

winapi - IFileSaveDialog - 在 Windows 7 中选择文件夹

转载 作者:行者123 更新时间:2023-12-02 06:24:52 25 4
gpt4 key购买 nike

在 Vista 中,我一直使用 IFileSaveDialog 让用户选择“另存为”文件夹。例如,用户导出图像文件夹,并需要选择新的或现有的目标文件夹。

简单来说,代码如下:

IFileSaveDialog* dialog; // created
dialog->SetOptions(FOS_PICKFOLDERS);
dialog->Show(NULL);
dialog->GetResult(&shellItem)

在 Windows 7 中,FOS_PICKFOLDERS 选项似乎已被禁止(并在 the API 中进行了标记)。 SetOptions 调用的返回值为 E_INVALIDARG。如果我使用 IFileOpenDialog,我可以设置文件夹选项,但在选择不存在的文件夹时会提示用户错误(尽管我的设置标志建议不要这样做)。

是否有其他方法可以让新的 IFileDialog 充当“保存文件夹”对话框?

[为了避免一些评论,SHBrowseForFolder API 仍然存在,但对于我们的 UI 决策者来说仍然不是一个可接受的解决方案。]

最佳答案

其原因可以在文档中找到:

FOS_PICKFOLDERS: Present the Open dialog offering a choice of folders rather than files.

使用FOS_PICKFOLDERS“保存”本来就不应该被支持——但Vista并没有强制执行。使用 IFileOpenDialog 即可。您正在选择一个现有文件夹(未指定要创建的文件夹),因此打开始终是正确的选择。

关于winapi - IFileSaveDialog - 在 Windows 7 中选择文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1626993/

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