我知道这个标题没什么意义,主要是因为很难用一行来解释。所以情况如下:
我有一个针对 Windows 2000 和更新版本的二进制程序。现在,我继续添加一些代码来检查用户是否在 Vista/7 下运行,如果是,则检查是否启用了 Aero/DWM。基于此,我将禁用一些与该特定平台无关的东西,并启用一些其他功能。我的主要问题是,为了从 Visual C++ 2008 调用 DwmIsCompositionEnabled,我必须添加 dwmapi.lib 文件并针对它进行编译。在非 Vista 或 7 中运行二进制文件会出现“无法定位组件。应用程序无法启动,因为未找到 dwmapi.dll”错误。当然,这会发生,因为 DWM 是新的并且不适用于旧平台。
那么我的问题是:我有可能以某种方式设法实现这一目标吗?所有操作系统版本的一个二进制文件并包含该 DWM 检查代码?该程序是在 Visual Studio 2008、Visual C++ 下使用 MFC 编写的。