我有一个windows .dll文件(来自第三方 - 已停止支持它,我没有C源代码来纠正问题)。
我在我的一个项目中使用.dll。
.dll文件在Windows XP / Vista下完美运行(因为它是在这些操作系统版本是最新版本时发布的) - 现在的问题是该项目现在仅限于Windows XP / Vista用户(由于.dll) - 当它在Windows 7下运行时,它会略微出现故障(即与Windows XP / Vista相比产生不同的结果)。
我认为问题是微软必须改变一些东西(在Windows库中或其他东西?),这会影响兼容性。
所以我想知道 - 我知道它不是最好的选择,但作为临时/ hackish解决方法是他们可以为Windows 7用户模拟Windows XP / Vista功能,即。是他们为此设计的任何项目 - example => http://www.busybox.net/about.html(允许Linux功能在Windows上执行)。
感谢所有建议/解决方法。
答案 0 :(得分:1)
听起来太容易了:但是Windows兼容模式呢?也许它有效。
答案 1 :(得分:1)
在Windows 7中,您可以在兼容模式下运行可执行文件,并将其设置为以与Windows XP兼容的模式运行。有关详细信息,请参阅Make older programs run in this version of Windows。
请注意,您不能强制此.DLL始终使用兼容模式,但您可以更改安装程序,以便为执行此操作的用户或计算机进行相应的注册表设置。
您需要做的就是添加一个注册表项,如下所示。下:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Application Compatibility\Layers
添加如下的键:
"Path\To\Program\YourExecutable.exe"=WINXPSP2
这将使您的程序始终在compat模式下运行。如果您只想为当前用户设置它,也可以在HKCU中进行设置。
答案 2 :(得分:1)
您可以尝试在{7}}下的Windows 7上运行您的应用,并将结果与本机Windows XP的结果进行比较。