Verwenden von Win32 unter DOS

3618
StackUnderflow

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

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

BEARBEITEN:

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

6

2 Antworten auf die Frage

10
haimg

Keine von Microsoft unterstützte Methode

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 erhalten.

Win32-Emulation von Drittanbietern für DOS

Es gibt eine Software, die die Win32-API emuliert und die Ausführung von Windows-Konsolenprogrammen unter DOS ermöglicht. Zum Beispiel sagt die HX DOS Extender- Startseite:

Der HX DOS-Extender ist ein kostenloser DOS-Extender mit integrierter Unterstützung für das Win32 PE-Dateiformat. Normalerweise besteht der Zweck eines DOS-Extenders darin, Schutzfunktionen für DOS-Anwendungen verfügbar zu machen. HX unterstützt dieses Ziel uneingeschränkt, geht jedoch einige Schritte weiter. Eine Win32-API-Emulationsschicht ist Teil von HX, wodurch 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 beim HX DOS Extender-Download!

Anscheinend gibt es etwas faul mit Downloads auf der HX DOS Extender-Website. Der Virustotal-Bericht sieht für mich wirklich verdächtig aus, die meisten Antiviren- Programme berichten von Malware.

+1 DOS unter Windows 98 ist 16 Bit. Die Windows-GUI ist darüber hinaus ein 32-Bit-Wrapper. Unter Windows 3.1 gab es einige Win32-Library-Hacks, die jedoch niemals auf DOS (AFAIK) erweitert wurden. Trav vor 12 Jahren 0
Wow, +1 für HX DOS Extender, das ist ein süßes (und Open Source!) Programm, von dem ich noch nie gehört habe. Breakthrough vor 12 Jahren 0
Ich habe HX ausprobiert und es lief auf DigitalMarsC einwandfrei, obwohl ich noch nicht versucht habe, etwas zu kompilieren. Ich habe auch versucht, eine ausführbare .NET-Datei damit auszuführen, und es sagte mir, dass DLLs fehlten, so dass es einige Hacks geben konnte, um Arbeit zu machen. Danke für deine Antwort! WICHTIGER HINWEIS: Der HX-RT zip enthält einen Virus. Denken Sie daran, alle, die diesen Beitrag gelesen haben! StackUnderflow vor 12 Jahren 0
@StackUnderflow: Vielen Dank, dass Sie uns wissen lassen. Ich habe meinen Beitrag aktualisiert und eine E-Mail an den Autor des Programms gesendet. haimg vor 12 Jahren 0
@Trav: Die Windows 9x-GUI war kein Wrapper mehr; es verwendet nur DOS [als Bootloader] (http://blogs.msdn.com/b/oldnewthing/archive/2007/12/24/6849530.aspx) und für die Verarbeitung von 16-Bit-Treibern. grawity vor 12 Jahren 2
@grawity Dein enthaltener Link ist ein toller Beitrag! Ich wünschte, ich hätte so etwas gelesen, als ich noch Windows 9x benutzt hatte! Trav vor 12 Jahren 0
3
Synetech

It depends on the Win32 program. Clearly, GUI programs cannot run for obvious reasons. Console applications on the other hand may be able to run.


In 1998 Chris Jones wrote a DOS program called WinEM (previously DOSCon) which attempts to emulate the Win32 API so that Windows console programs can be run under DOS. According to the manual, he had apparently intended to support GUI programs and even Direct-X games but had, as of version 1.00, implemented only basic DX and windowing functions (ie, only enough for “'hello, world'-in-a-window”).

I cannot find any newer versions, so I suspect that it turned out to be more difficult than he hoped and so he abandoned the project. Also, because the program was written during the time of Windows 98, it may (probably?) does not support later versions of Windows (2000+).