Windows erkennen
-
Gibt es eine Möglichkeit, dass ein reines DOS-Programm erkennt, ob es unter reinem DOS oder in der Windows-Dos-Box läuft ?
-
Es gibt da ein Programm das heisst "Private COMpiler".
gibt es hier: http://linux20368.dn.net/protools/compilers.htm
Das ist eine Art Compiler, der aus einer einfachen Scriptsprache ein Dos Programm generiert. In dieser Scriptsprache gibt es Befehle um zu erkennen ob das prog. unter Dos oder Windows läuft, Befehle um das Fenster zu verrändern (Fenstertitel, Größe, usw. ) und einiges anderes.Es ist extrem einfach den generierten Code zu disassemblieren. Sind jeweils nur wenige Zeilen asm Code.
Die Funktion, die erkennt ob es unter Windows läuft sieht so aus:MOV AX,1600
INT 2F
CMP AL,00
JNZ 0143 // wenn al!=0, dann läuft das prog unter WindowsDieser Code scheint aber nur unter Win95,98 und ME zu funktionieren.
[ Dieser Beitrag wurde am 05.06.2002 um 16:03 Uhr von DrZoidberg editiert. ]
-
und wie ralph brown sprach:
INT 2F - MS Windows - WINDOWS ENHANCED MODE INSTALLATION CHECK
AX = 1600h
Return: AL = status
00h neither Windows 3.x enhanced mode nor Windows/386 2.x running
01h Windows/386 2.x running
80h XMS version 1 driver installed (neither Windows 3.x enhanced mode nor Windows/386 2.x running) (obsolete--see note)
FFh Windows/386 2.x running
AL = anything else: AL = Windows major version number >= 3, AH = Windows minor version number