Использование Win32 в DOS

Можно ли запустить среду Win32 или запустить программы Win32 из DOS без запуска графического интерфейса Windows?

Я использую ПК с Windows 98, который загружается в режиме DOS с дискеты.

РЕДАКТИРОВАТЬ:

Я хочу запускать программы командной строки. Некоторые из них - Digital Mars C и.NET Framework.

3 ответа

Решение

Нет поддерживаемых Microsoft способов сделать это

Графический интерфейс Windows нельзя отделить от ядра и библиотек времени выполнения, которые поддерживают программы Win32 (в Windows 98).

Вы можете получить Windows без графического интерфейса, только используя режим установки Server Core в Windows Server 2008.

Сторонняя эмуляция Win32 для DOS

Существует программное обеспечение, которое эмулирует Win32 API и позволяет запускать консольные программы Windows под DOS. Например, домашняя страница HX DOS Extender гласит:

HX DOS-Extender - это бесплатный DOS-расширитель со встроенной поддержкой формата файлов Win32 PE. Обычно целью расширителя DOS является сделать функции защищенного режима доступными для приложений DOS. HX полностью поддерживает эту цель, но идет дальше. Уровень эмуляции Win32 API является частью HX, которая позволяет многим консольным приложениям Win32 работать в DOS.

Digital Mars C++ специально поддерживается HX DOS Extender, однако.NET глубоко интегрирован в Windows. Я сомневаюсь, что вы сможете запускать программное обеспечение.NET на эмуляторе.

Предупреждение, возможна загрузка вредоносного ПО в HX DOS Extender!

Очевидно, что на сайте HX DOS Extender есть что-то подозрительное с загрузками. Отчет Virustotal кажется мне очень подозрительным, большинство антивирусов сообщают о каком-либо вредоносном ПО внутри.

Это зависит от программы Win32. Очевидно, что программы с графическим интерфейсом не могут работать по понятным причинам. Консольные приложения, с другой стороны, могут запускаться.


В 1998 году Крис Джонс написал программу для DOS под названием WinEM (ранее DOSCon), которая пытается эмулировать Win32 API, чтобы консольные программы Windows можно было запускать под DOS. Согласно руководству, он, очевидно, намеревался поддерживать программы с графическим интерфейсом и даже игры Direct-X, но с версии 1.00 реализовал только базовые функции DX и управления окнами (т. Е. Только для "привет, мир" в окно ").

Я не могу найти более новые версии, поэтому я подозреваю, что это оказалось сложнее, чем он надеялся, и поэтому он отказался от проекта. Кроме того, поскольку программа была написана во времена Windows 98, она может (возможно?) Не поддерживать более поздние версии Windows (2000+).

WDOSX также может запускать некоторые программы Win32 из командной строки (консоли), вам необходимо запуститьstubit prog.exeпервый (stubit.exeявляется частью WDOSX), и вам необходимо скопировать*.wdlфайлы из дистрибутива WDOSX рядом с .

Судя по размерам файлов, похоже, что HX поддерживает больше функций командной строки Win32 (т.е. больше вызовов API Win32), чем WDOSX.

Недавно я добился успеха как с WDOSX, так и с HX: я скомпилировал программу C с помощью OpenWatcom V2 (используяowcc -bwin32 prog.c) и исполняемый файлprog.exeнормально работал в Windows и DOS (как с WDOSX, так и с HX).

Другие вопросы по тегам