Версия для Windows вне реестра? - PullRequest
1 голос
/ 08 марта 2012

Мне нужно взять старое программное обеспечение, которое было построено в 4D 2004 (вы, вероятно, никогда не слышали о 4D, но это не имеет значения), и сделать его совместимым с Windows 7, обманув его и убедив его, что он работает под Windows XP.

Я думал, что приложение получало номер версии окон из HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion и что я мог изменить это значение, но я ошибался… Даже если я изменяю значения в реестре, номер версии окна, возвращаемые моим приложением, всегда одинаковы:

498139398 для Windows 7

170393861 для Windows XP

Это значение содержит версию Windows (эта ссылка объясняет, как извлечь номер версии), но я не знаю, откуда он был взят.

Если вы гуглите эти цифры, вы обнаружите, что другие приложения ссылаются на тот же номер версии.

Я попытался выяснить, какой реестр использовался приложением с Process Monitor, но ни один из реестров, к которым приложение обращалось, похоже, не связан с версией Windows.

Кто-нибудь знает, откуда эти значения могут исходить? Может ли это быть вне реестра / где-то жестко закодировано?

1 Ответ

5 голосов
/ 08 марта 2012

В Windows уже есть инструменты для этого.Пробовали ли вы щелкнуть правой кнопкой мыши программу, выбрать «Свойства» и перейти на вкладку «Совместимость»?

Для более сложных уловок изучите «Microsoft Application Compatibility Toolkit».

...