在Vista中,我一直在使用IFileSaveDialog
来让用户选择一个“另存为”文件夹。用户导出图像文件夹,并说需要选择新的或现有的目标文件夹。IFileSaveDialog - 在Windows 7中选择文件夹
简言之,将码是这样的:
IFileSaveDialog* dialog; // created
dialog->SetOptions(FOS_PICKFOLDERS);
dialog->Show(NULL);
dialog->GetResult(&shellItem)
在Windows 7,FOS_PICKFOLDERS
选项似乎已被禁止(在the API被标记为这样)。 SetOptions
呼叫的返回值是E_INVALIDARG
。如果我使用IFileOpenDialog,我可以设置文件夹选项,但在选择不存在的文件夹时(尽管我的设置标志暗示不要执行此操作),系统会提示用户输入错误。
是否有另一种方法让新的IFileDialog
充当“保存文件夹”对话框?
[为了阻止一些评论,对API的SHBrowseForFolder仍然存在,但仍然不是我们的UI决策者可接受的解决方案。]
有趣的是,Windows团队在4月份的博客样本中使用了此标志! http://windowsteamblog.com/blogs/developers/archive/2009/04/16/light-up-with-windows-7-libraries.aspx – 2009-10-26 20:13:34
而来自kazoobrewer的评论告诉他们它不再有效。我想那会是你然后... – 2009-10-26 20:14:42
有时候感觉就像你是唯一在野外使用API的开发人员... – 2009-10-28 16:35:25