.dll работает правильно только на Windows XP и Vista, но не 7? - PullRequest
3 голосов
/ 08 июля 2011

У меня есть файл Windows .dll (от стороннего производителя, который прекратил его поддержку, и у меня нет исходного кода C для устранения проблем).

Я использую .dllв моем проекте.

.dll-файл прекрасно работает под Windows XP / Vista (как он был выпущен во время, когда эти версии ОС были текущими / последними) - проблема в том, что проекттеперь ограничивается пользователями Windows XP / Vista (из-за того, что .dll) - когда он работает под Windows 7, он слегка дает сбой (т.е. дает другие результаты, чем по сравнению с Windows XP / Vista).

Я считаю, чтоПроблема в том, что Microsoft что-то изменила (в библиотеке Windows или что-то в этом роде?), что влияет на совместимость.

Так что мне было интересно - я знаю, что это не самый лучший вариант, но временный / хакерский обходной путь - это ихтак или иначе я могу эмулировать функциональность Windows XP / Vista для пользователей Windows 7, т.е.это любые проекты, разработанные для этого - пример => http://www.busybox.net/about.html (который позволяет выполнять функциональные возможности Linux в Windows).

Оцените все предложения / обходные пути.

Ответы [ 3 ]

1 голос
/ 08 июля 2011

В Windows 7 вы можете запустить исполняемый файл в режиме совместимости и настроить его на работу в режиме, совместимом с Windows XP.Для получения дополнительной информации см. Запуск более старых программ в этой версии Windows .


Обратите внимание, что этот .DLL нельзя принудительно использовать в режиме совместимости, но можноизмените ваш установщик, чтобы сделать соответствующие параметры реестра для пользователя или компьютера, которые делают это.

Все, что вам нужно сделать, это добавить раздел реестра следующим образом.В разделе:

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

Добавьте ключ наподобие:

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

Это приведет к тому, что ваша программа всегда будет работать в режиме сжатия.Вы также можете установить это в HKCU, если вы предпочитаете просто установить его для текущего пользователя.

1 голос
/ 08 июля 2011

Вы можете попробовать запустить приложение в Windows 7 в режиме Режим совместимости с Windows XP и сравнить результаты с результатами из родной Windows XP.

1 голос
/ 08 июля 2011

Звучит слишком просто: а как насчет режима совместимости Windows?Может быть, это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...