5

Я создаю графический интерфейс для soPDF, написанный на Delphi, но я хочу знать, совместим ли soPDF с 16-битной совместимостью, потому что мне нужно запустить его в MS-DOS 6.22

Кроме того, я могу сделать этот тест с DOSBox?

4 ответа4

4

Вы можете открыть .exe в текстовом редакторе и посмотреть первые две буквы, чтобы узнать, совместим ли он с 16-битной DOS. Согласно статье в Википедии, если первые две буквы "MZ" или "NE", то программа является 16-битной DOS-совместимой. Однако это немного вводит в заблуждение. Возможно, он сможет работать в 16-битном режиме достаточно хорошо, чтобы сказать вам:"Эту программу нельзя запустить в режиме DOS". К сожалению, это так с soPDF (откройте его в блокноте и убедитесь сами).

Установка Win32s - это, вероятно, ваша единственная надежда запустить его. Однако я не уверен, что вы можете запускать Win32s в DOS или запускать его из Windows 3.11. Я также не уверен, есть ли у soPDF какие-либо другие предпосылки, которые не имеют надежды на запуск даже под Win32.

Вы должны быть в состоянии протестировать программу в DOSBox. Хотя я предполагаю, что он поддерживает только 16-разрядные приложения DOS, я не могу найти однозначного ответа, поэтому настройка установки VMware, VirtualBox или VirtualPC DOS (как предположил Дэвид) может быть самым простым и надежным способом его тестирования.

Если бы это было не так просто, как открыть .exe в Блокноте, вы могли бы использовать DependencyWalker, чтобы увидеть, было ли soPDF 32-битным или 64-битным приложением.

Кроме того, если я правильно помню, 16-разрядные приложения запускаются внутри WOW.EXE или, возможно, WOW16.Процесс EXE (Windows On Windows), который вы сможете увидеть на вкладке «Процессы» в диспетчере задач, если попытаетесь запустить 16-разрядное приложение на 32-разрядной версии WinNT/2k/XP.

64-разрядные выпуски Windows не включают 16-разрядный уровень совместимости, поэтому, если все остальное не сработает, вы можете предположить, что ваша программа либо повреждена, либо 16-разрядная, если она не работает в 64-разрядной установке Windows.

Есть шанс, что Win32 поможет вам, но я весьма сомневаюсь, так как doPDF был написан в 2008 году, более чем через десятилетие после массовой гибели 16-битных приложений. Удачи, и получайте удовольствие ... ох - и не забудьте использовать ваши 8.3 имена файлов!

2

Я не вдавался в подробности исследований, касающихся soPDF, но если это инструмент, созданный в "эру Windows", то это почти наверняка не 16-битная программа. «16-битной совместимости» не существует ... вы можете запускать младшие битовые программы в более высоких битовых операционных системах, но не наоборот.

Кроме того, вы уверены, что хотите запустить его в DOS? Или ты имеешь ввиду cmd?

0

Самый простой способ сделать это - использовать программное обеспечение для виртуальных машин, такое как VirtualBox или VMWare, и запустить в нем DOS. Я уверен, что VirtualBox принимает образы дискет.

0

Согласно информации в вашей ссылке, soPDF был построен с Visual Studio 2008, поэтому это было бы 32-битное приложение Windows, так как Visual Studio не может создавать 16-битное приложение. Если вам нужна 16-битная версия, вам нужно скачать исходный код и скомпилировать его самостоятельно. Если вам нужен компилятор, вы можете использовать Open Watcom. Это, вероятно, не тривиальное преобразование.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .