Windows XP,Windows Vista和Windows 7上的不同文件打开对话框

时间:2011-05-23 22:25:27

标签: windows-7 windows-xp fileopendialog

我想开发一个适用于Windows XP,Vista和7的所有三个版本的应用程序。该应用程序允许人们选择要打开的文件,并允许他们在某些操作后保存文件。 Windows的三个版本中的每一个都具有不同风格的文件打开对话框。虽然XP使用带有OPENFILENAME结构的GetOpenFileName,但建议我们使用Vista和Windows 7的“通用文件对话框”。我可以使用建议的样式获取文件对话框,以适用于每个不同版本的操作系统。但是,我想确保我的应用程序在每个版本上打开不同样式的对话框。我不想为不同版本的Windows构建单独的二进制文件。

是否可以将此逻辑内置在应用程序中,即允许它根据正在运行应用程序的OS访问本机打开文件对话框。

谢谢,

作者Abhijit

1 个答案:

答案 0 :(得分:1)

你将不得不做类似

的事情
if (isVista())
{
    //Use IFileDialog
}
else
{
    //Use GetOpenFileName
}

注意:

如果您要自定义对话框,不能执行此操作;你将 使用旧版本。

尝试延迟加载DLL: