Как проверить, совместима ли программа pi с 16 битами?
Я создаю графический интерфейс для soPDF, написанный на Delphi, но я хочу знать, совместим ли soPDF с 16-битной совместимостью, потому что мне нужно запустить его в MS-DOS 6.22
Кроме того, я могу сделать этот тест с DOSBox?
4 ответа
Вы можете открыть.exe в текстовом редакторе и посмотреть первые две буквы, чтобы узнать, совместим ли он с 16-битной DOS. Согласно статье в Википедии, если первые две буквы "MZ" или "NE", то программа является 16-битной DOS-совместимой. Однако это немного вводит в заблуждение. Возможно, он сможет работать в 16-битном режиме достаточно хорошо, чтобы сказать вам: "Эту программу нельзя запустить в режиме DOS". К сожалению, так обстоит дело с soPDF (откройте его в блокноте и убедитесь сами).
Установка Win32s - это, вероятно, ваша единственная надежда запустить его. Тем не менее, я не уверен, что вы можете запускать Win32s в DOS или запускать его из Windows 3.11. Я также не уверен, есть ли у soPDF какие-либо другие предпосылки, которые не имеют надежды на запуск даже под Win32s.
Вы должны быть в состоянии протестировать программу в DOSBox. Хотя я предполагаю, что он поддерживает только 16-разрядные приложения DOS, я не могу найти однозначного ответа, поэтому настройка установки VMware, VirtualBox или VirtualPC DOS ( как предположил Дэвид) может быть самым простым и надежным способом его тестирования.
Если бы это было не так просто, как открыть.exe в Блокноте, вы могли бы использовать http://dependencywalker.com/, чтобы увидеть, было ли soPDF 32-битным или 64-битным приложением.
Кроме того, если я правильно помню, 16-разрядные приложения запускаются внутри процесса WOW.EXE или, возможно, WOW16.EXE ( Windows On Windows), который вы сможете увидеть на вкладке "Процессы" в диспетчере задач, если попытаетесь запустить приложение на 32-битной WinNT/2k/XP.
64-разрядные выпуски Windows не включают в себя 16-разрядный уровень совместимости, поэтому, если все остальное не сработает, вы можете предположить, что ваша программа либо повреждена, либо 16-разрядная, если она не работает в 64-разрядной установке Windows.
Есть шанс, что Win32 поможет вам, но я весьма сомневаюсь, так как doPDF был написан в 2008 году, более чем через десять лет после массовой гибели 16-битных приложений. Удачи, и получайте удовольствие... ох - и не забудьте использовать ваши 8.3 имена файлов!
Я не углублялся в исследования soPDF, но если это инструмент, созданный в "эру окон", то это почти наверняка не 16-битная программа. "16-битной совместимости" не существует... вы можете запускать младшие битовые программы в более высоких битовых операционных системах, но не наоборот.
Кроме того, вы уверены, что хотите запустить его в DOS? Или ты имеешь ввиду cmd?
Самый простой способ сделать это - использовать программное обеспечение для виртуальных машин, такое как VirtualBox или VMWare, и запустить в нем DOS. Я уверен, что VirtualBox принимает образы дискет.
Согласно информации в вашей ссылке, soPDF был построен с Visual Studio 2008, поэтому это было бы 32-битное приложение Windows, так как Visual Studio не может создавать 16-битное приложение. Если вам нужна 16-битная версия, вам нужно скачать исходный код и скомпилировать его самостоятельно. Если вам нужен компилятор, вы можете использовать Open Watcom. Это, вероятно, не тривиальное преобразование.