我被迫从VS2008升级到VS2012。这意味着我的所有代码都需要更新到 .NET Framework 4.0。我的目标是通过此更新保持与 Windows XP 的兼容性。
所以我有一个包含多个项目的解决方案。大多数是用VB编写的。一个项目是用 C++ 编写的,因为我需要对 DDE 命令进行非托管调用并将其包装在托管对象周围。我能做的最好的就是在 VS2008 环境中用 .NET 3.5 编译它,这样它就可以在 Windows XP 中正常工作。我的主要项目现在是一个混合模式程序集。这可能都是多余的信息,但我声明这一点以防万一。
编译后的程序在我的 Windows 7 开发机器上运行良好。当我在 Windows XP 机器上对其进行测试时,大约 20% 的程序执行时出现错误:“找不到 GetTickCount64。” 我知道 Windows XP 不支持这个调用。主要问题是我的软件中没有一点我需要知道自上次启动以来已经过了多长时间。我假设当它被编译时,Visual Studio 添加了一些额外的东西。在该消息上单击“确定”后,该软件工作正常。拥有它只是烦人。有没有办法找到这个电话的位置并杀死它?我曾尝试通过“GetTickCount64”的解决方案进行搜索,但一无所获。