I have a windows .dll file (from a third-party - which have discontinued supporting it and I don't have the C sourcecode to rectify the problems).
I'm using the .dll in a project of mine.
The .dll file works perfectly fine under Windows XP/Vi开发者_运维问答sta (as it was released at the time of when these OS versions were current/latest) - the issue is now that the project is now limited to Windows XP/Vista users (due to that .dll) - when it runs under Windows 7 it slightly malfunctions (ie. produces different results then compared to Windows XP/Vista).
I believe the problem is Microsoft must have changed something (within the Windows library or something?) which is effecting the compatibility.
So I was wondering - I know its not really the best option but as a temporary/hackish workaround is their someway I can emulate Windows XP/Vista functionality for the Windows 7 users, ie. is their any projects designed for this - example => http://www.busybox.net/about.html (which allows Linux functionality to be able to be executed on Windows).
Appreciate all suggestions/workarounds.
In Windows 7, you can run an executable in Compatibility Mode, and set it to run in a mode compatible with Windows XP. For details, see Make older programs run in this version of Windows.
Note that, you can't force this .DLL to always use a compatibility mode, but you can change your installer to make the appropriate registry settings for the user or machine that do this.
All you need to do is add a registry key as follows. Under:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Application Compatibility\Layers
Add a key like:
"Path\To\Program\YourExecutable.exe"=WINXPSP2
This will cause your program to always run under compat mode. You can also set this in HKCU if you prefer to just set it for the current user.
That sounds too easy: But what about Windows Compatibility Mode? Maybe it works.
You could try running your app on Windows 7 under Windows XP Compatibility mode and compare the results to those from native Windows XP.
精彩评论