我想在我的 VC++ 应用程序中使用任务对话框。我可以使用 TaskDialog 或 TaskDialogIndirect 成功创建任务对话框,并且在 Vista 中运行良好。但是,我希望我的应用程序也可以在 Windows XP 上运行,并且由于 Windows XP 不支持任务对话框,因此我创建了一个我自己的对话框,我想在操作系统是 XP 的情况下使用它。
所以我的代码是这样的:如果操作系统是 Vista 或更高版本: Show TaskDialog else Show my own dialog
现在该应用程序仍然无法在 Windows XP 中运行。当我尝试在 XP 上启动应用程序时,我收到错误“无法在动态链接库 comctl32.dll 中找到序号 345”。这可能是因为对 TaskDialogIndirect 的调用存在于我的代码中,尽管该调用位于 if 块中。在加载应用程序时,它会尝试在 comctl32.dll 中找到该函数,但由于它是 XP 版本的 dll,因此没有找到它。
所以我的问题是:
如何对我的应用程序进行编码以使其在 XP 和 Vista 上成功运行,并且在 XP 的情况下显示我自己的对话框,而在 Vista 和更高版本的情况下显示任务对话框?