Verwendung von Win32 unter DOS

6

Gibt es eine Möglichkeit, die Win32-Umgebung zu starten oder Win32-Programme unter DOS auszuführen, ohne die Windows-GUI zu starten?

Ich verwende einen Windows 98-PC, der von einer Diskette in den DOS-Modus gestartet wird.

BEARBEITEN:

Ich möchte Kommandozeilenprogramme ausführen. Einige davon sind Digital Mars C und .NET Framework.

StackUnderflow
quelle

Antworten:

11

Keine von Microsoft unterstützte Möglichkeit

Die Windows-GUI kann nicht von den Kernel- und Laufzeitbibliotheken getrennt werden, die Win32-Programme unterstützen (in Windows 98).

Sie können Windows ohne GUI nur im Server Core- Installationsmodus in Windows Server 2008 herunterladen.

Win32-Emulation eines Drittanbieters für DOS

Es gibt eine Software, die die Win32-API emuliert und die Ausführung von Windows-Konsolenprogrammen unter DOS ermöglicht. Auf der Homepage von HX DOS Extender heißt es beispielsweise:

HX DOS-Extender ist ein kostenloser DOS-Extender mit integrierter Unterstützung für das Win32 PE-Dateiformat. Normalerweise dient ein DOS-Extender dazu, Funktionen im geschützten Modus für DOS-Anwendungen verfügbar zu machen. HX unterstützt dieses Ziel voll und ganz, geht aber noch einige Schritte weiter. Eine Win32-API-Emulationsschicht ist Teil von HX, mit der viele Win32-Konsolenanwendungen unter DOS ausgeführt werden können.

Digital Mars C ++ wird speziell von HX DOS Extender unterstützt, .NET ist jedoch tief in Windows integriert. Ich bezweifle, dass Sie .NET-Software auf einem Emulator ausführen können.

Achtung, mögliche Malware im HX DOS Extender-Download!

Anscheinend gibt es auf der HX DOS Extender-Website Probleme mit den Downloads. Virustotal Report sieht für mich sehr verdächtig aus, die meisten Antivirenprogramme melden eine Art von Malware.

haimg
quelle
+1 DOS unter Windows 98 ist 16 Bit. Die Windows-Benutzeroberfläche ist darüber hinaus ein 32-Bit-Wrapper. Für Windows 3.1 gab es einige Win32-Bibliotheks-Hacks, die jedoch nie auf DOS (AFAIK) erweitert wurden.
Trav
Wow, +1 für HX DOS Extender, das ist ein süßes (und Open Source!) Programm, von dem ich noch nie gehört habe.
Durchbruch
HX ausprobiert und DigitalMarsC lief einwandfrei, obwohl ich noch nichts zu kompilieren versucht habe. Ich habe auch versucht, eine ausführbare .NET-Datei damit auszuführen, und es wurde mir mitgeteilt, dass DLLs fehlen, so dass einige Hacks erforderlich sein könnten, damit sie funktionieren. Danke für deine Antwort! WICHTIGER HINWEIS: Auf dem HX-RT-Reißverschluss befindet sich ein Virus. Denken Sie also daran, alle, die diesen Beitrag gelesen haben!
StackUnderflow
@StackUnderflow: Vielen Dank, dass Sie uns darüber informiert haben. Ich habe meinen Beitrag aktualisiert und dem Programmautor eine E-Mail gesendet.
Haimg
2
@Trav: Die Windows 9x-Benutzeroberfläche war kein Wrapper mehr. Es wird nur DOS als Bootloader und zur Verarbeitung von 16-Bit-Treibern verwendet.
Grawity
3

Das hängt vom Win32-Programm ab. Es ist klar, dass GUI-Programme aus offensichtlichen Gründen nicht ausgeführt werden können. Konsolenanwendungen hingegen können möglicherweise ausgeführt werden.


1998 schrieb Chris Jones ein DOS-Programm namens WinEM (früher DOSCon ), das versucht, die Win32-API zu emulieren, damit Windows-Konsolenprogramme unter DOS ausgeführt werden können. Dem Handbuch zufolge hatte er anscheinend vorgehabt, GUI-Programme und sogar Direct-X-Spiele zu unterstützen, hatte aber ab Version 1.00 nur noch grundlegende DX- und Fensterfunktionen implementiert (dh nur noch genug für „Hallo, world-in-a“) -Fenster ” ).

Ich kann keine neueren Versionen finden, daher habe ich den Verdacht, dass es schwieriger geworden ist, als er gehofft hatte, und deshalb hat er das Projekt abgebrochen. Da das Programm während der Zeit von Windows 98 geschrieben wurde, unterstützt es möglicherweise (wahrscheinlich?) Keine neueren Versionen von Windows (2000+).

Synetech
quelle