VS2010 MFC编程如何使程序在带有WIN7特有接口的情况下在XP上运行

如题:如何使程序在带有WIN7特有接口的情况下在XP上运行。我的程序里有XP和win7两套运行代码的,只要是在XP上,就运行XP的程序段。在win7上就运行win7特有的... 如题:如何使程序在带有WIN7特有接口的情况下在XP上运行。
我的程序里有XP和win7两套运行代码的,只要是在XP上,就运行XP的程序段。在win7上就运行win7特有的程序段。

现在是我的win7程序段在XP上没有这些接口函数的。但在XP上我不需要运行这些啊,可是一开启程序就报我没有win7的这些接口的错。我要怎么做才能使他不报错?
展开
 我来答
paradise300
2014-07-15 · TA获得超过3560个赞
知道大有可为答主
回答量:2589
采纳率:84%
帮助的人:503万
展开全部

用Dependency walker 查看你的应用程序,然后把缺少的dll打到后,放在你的程序目录下,如果有些dll是win7才有(XP没有)的系统DLL的话,就比较麻烦了,这种情况下,dll依赖项很多,不好搞。如果是非系统DLL,你就直接复制到你的程序目录下吧。

更多追问追答
追问
我做的应用程序是兼容XP和WIN7的,他必须在不同系统运行不同代码段。恰好是在XP上遇到WIN7代码段出问题。
我试着把DLL复制过安装目录还是不行。那个是WIN7特有的。
追答
那你就这样吧,通过判断系统版本号,如果你使用的开发环境是VS2013以前版本的,你就使用GetVersionEx来获取系统的主版本号,通过判断主版本号大于等于6,且副版本号大于等于1就是Win7以上系统。如果你在VS2013中,就使用IsWindows7OrGreater函数,这个函数需要包含头文件Versionhelpers.h。判断好之后,就可以分开执行各系统所需的代码了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式