home *** CD-ROM | disk | FTP | other *** search
- { GREG ESTABROOKS }
-
- Program Win3XInf; { Simple Detection routines For Windows 3.X }
- { Last Updated March 3/93, Greg Estabrooks }
- Uses
- Crt,
- Dos;
-
- Var
- Regs : Registers; { to hold register info }
-
- Function Win3X : Boolean;
- { Routine to determine if Windows is currently running }
- begin
- Regs.AX := $4680; { Win 3.x Standard check }
- Intr($2F, Regs); { Call Int 2F }
- if Regs.AX <> 0 then { if AX = 0 Win in Real mode }
- begin { else check For enhanced mode }
- Regs.AX := $1600; { Win 3.x Enhanced check }
- Intr($2F, Regs); { Call Int 2F }
- if Regs.AL in [$00,$80,$01,$FF] then { Check returned value }
- Win3X := False { Nope not installed }
- else
- Win3X := True; { Ya it is }
- end
- else
- Win3X := True; { Return True }
- end;
-
-
- Function WinVer :Word;
- { Returns a Word containing the version of Win Running }
- { Should only be used after checking For Win installed }
- { Or value returned will be meaningless }
- begin
- Regs.AX := $1600; { Enhanced mode check }
- Intr($2F, Regs); { Call Int 2F }
- WinVer := Regs.AX; { Return proper value }
- end;
-
-
- begin
- ClrScr;
- if Win3X then
- begin
- Writeln('Windows is Running! '); { Display version }
- Writeln('Version Running is : ', Lo(WinVer), '.', Hi(WinVer));
- end
- else
- Writeln('Windows is not Running!');
- end.