小编Tim*_*Tim的帖子

管理Windows XP和Vista/Server 2008之间的Windows API差异

我正在尝试创建一个简单的Win32应用程序的单个可执行文件,该应用程序必须能够在Windows XP和Windows Vista/2008上运行.

由于Vista工作方式的一些变化,必须进行一些额外的Win32 API调用,以使程序正常运行,就像在XP上一样.

目前,我检测应用程序是否在比XP更新的Windows版本上运行,并根据需要调用额外的win32函数.这在Vista和Server 2008上运行时工作正常,但在Windows XP上运行时失败.

在Windows XP程序启动时,我收到错误消息:无法在动态链接库USER32.DLL中找到过程入口点ShutdownBlockReasonCreate.这在我的任何代码开始执行之前发生,并且在XP上运行时没有任何代码路径应该调用该函数.

我真的希望只有一个适用于XP和Vista的可执行文件.如果可能的话,我不想要有条件编译并且有两个可执行文件.

解决这个问题的最佳方法是什么?

c c++ dll winapi visual-studio-2008

4
推荐指数
1
解决办法
2262
查看次数

标签 统计

c ×1

c++ ×1

dll ×1

visual-studio-2008 ×1

winapi ×1