3

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

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

谢谢,

阿比吉特

4

1 回答 1

1

你将不得不做类似的事情

if (isVista())
{
    //Use IFileDialog
}
else
{
    //Use GetOpenFileName
}

笔记:

如果您要自定义对话框,则不能这样做;您将不得不使用旧版本。

尝试延迟加载 DLL:

于 2011-05-23T22:27:40.520 回答