我想开发一个适用于Windows XP,Vista和7的所有三个版本的应用程序。该应用程序允许人们选择要打开的文件,并允许他们在某些操作后保存文件。 Windows的三个版本中的每一个都具有不同风格的文件打开对话框。虽然XP使用带有OPENFILENAME结构的GetOpenFileName,但建议我们使用Vista和Windows 7的“通用文件对话框”。我可以使用建议的样式获取文件对话框,以适用于每个不同版本的操作系统。但是,我想确保我的应用程序在每个版本上打开不同样式的对话框。我不想为不同版本的Windows构建单独的二进制文件。
是否可以将此逻辑内置在应用程序中,即允许它根据正在运行应用程序的OS访问本机打开文件对话框。
谢谢,
作者Abhijit
答案 0 :(得分:1)
你将不得不做类似
的事情if (isVista())
{
//Use IFileDialog
}
else
{
//Use GetOpenFileName
}
如果您要自定义对话框,不能执行此操作;你将 使用旧版本。
尝试延迟加载DLL: