繁体   English   中英

.dll 只能在 Windows XP 和 Vista 上正常工作,但不是 7?

[英].dll only works properly on Windows XP and Vista but not 7?

我有一个 windows.dll 文件(来自第三方 - 已停止支持它,我没有 C 源代码来纠正问题)。

我在我的一个项目中使用.dll。

.dll 文件在 Windows XP/Vista 下工作得非常好(因为它是在这些操作系统版本是最新/最新版本时发布的) - 现在的问题是该项目现在仅限于 ZAEA23489CE3AA9B6406EBB28E0CDA 用户that.dll) - 当它在 Windows 7 下运行时,它会出现轻微故障(即,与 Windows XP/Vista 相比产生不同的结果)。

我相信问题是微软一定改变了一些东西(在 Windows 库或其他东西中?)这会影响兼容性。

所以我想知道 - 我知道它并不是最好的选择,但作为一种临时/hackish 解决方法,我可以为 Windows 7 个用户模拟 Windows XP/Vista 功能,即。 是他们为此设计的任何项目 - 示例 => http://www.busybox.net/about.html (允许 Linux 功能能够在 Windows 上执行)。

感谢所有建议/解决方法。

这听起来太简单了:但是 Windows 兼容模式呢? 也许它有效。

在 Windows 7 中,您可以在兼容模式下运行可执行文件,并将其设置为在与 Windows XP 兼容的模式下运行。 有关详细信息,请参阅使旧程序在此版本的 Windows 中运行


请注意,您不能强制 this.DLL 始终使用兼容模式,但您可以更改安装程序,为执行此操作的用户或计算机进行适当的注册表设置。

您需要做的就是添加一个注册表项,如下所示。 在下面:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Application Compatibility\Layers

添加一个键,如:

"Path\To\Program\YourExecutable.exe"=WINXPSP2

这将导致您的程序始终在兼容模式下运行。 如果您更愿意为当前用户设置它,您也可以在 HKCU 中设置它。

您可以尝试在Windows XP 兼容模式下在 Windows 7 上运行您的应用程序,并将结果与原生 Windows XP 的结果进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM