unreliable |
27-06-2004 16:07 205024 |
Как в delphi или C++ Builder узнать какая операционная система установлена. Приведите пожалуйста програмный код. С уважением, unreliable.
|
Surround |
27-06-2004 16:30 205025 |
unreliable
через WinAPI можно так:
Код:
Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP);
function GetOSVersion : TOSVersion;
var osVerInfo : TOSVersionInfo;
*majorVer, minorVer : Integer; *
begin
*result := OsUnknown; *
*osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); *
*if GetVersionEx(osVerInfo) then * *
*begin * *
*majorVer := osVerInfo.dwMajorVersion; *
*minorVer := osVerInfo.dwMinorVersion; *
*case osVerInfo.dwPlatformId of * *
*VER_PLATFORM_WIN32_NT : *
*Case majorVer of *
*4:result := OsWinNT; *
*5:if minorVer=0 then result := OsWin2000 *
*else * *
*if minorVer=1 then result := OsXP else result := osUnknownNT; *
*else result := osUnknownNT; *
*end; {Case majorVer of} *
*
*VER_PLATFORM_WIN32_WINDOWS : *
*case majorVer of *
*4: Case minorVer of *
*0:result := OsWin95; *
*10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result := OsWin98; *
*90: result := OsWinME; *
*else result := osUnknown9x; * *
*end;{Case minorVer of} * *
*else result := osUnknown9x; * *
*end{case majorVer of} *
*else result := OsUnknown; *
*end;{case osVerInfo.dwPlatformId of} *
*end;{if GetVersionEx(osVerInfo) then} *
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
*case GetOSVersion of *
*osUnknown: Showmessage('Unknown'); *
*osWin95: Showmessage('Win95'); *
*osWin98: Showmessage('Win98'); *
*osWin98SE: Showmessage('Win98SE'); *
*osWinME: Showmessage('WinME'); *
*osWinNT: Showmessage('WinNT'); *
*osWin2000: Showmessage('Win2000'); *
*osXP: Showmessage('XP'); *
*end; *
end;
:biglaugh:
|
bgg0408 |
27-06-2004 18:38 205026 |
Surround
еще есть Win NT 5.2 (Windows 2003 Server).
а так вполне нормальный (:up:) с виду код
|
Surround |
27-06-2004 19:15 205027 |
bgg0408
ну на Win2003 пока не учел... :biggrin:
кстати как 2003-я все еще сырая такая же?:gigi:
|
bgg0408 |
27-06-2004 23:29 205028 |
Surround
ИМХО, 2003 лучше ХР будет.... Даже для дома. На оверклокерах даже увеличение скорости заметили при таком переходе...
|
Surround |
28-06-2004 06:52 205029 |
bgg0408
возможно, но когда я себе ее ставил, только при появлении, еще сыровата была... а так вещсь стоящая :biggrin:
|
hasherfrog |
28-06-2004 13:47 205030 |
Самое полное определение операционной системы приведено в PSDK. Я не буду давать листинг, очень много кода. Определяет всё, вплоть до наличия SP1 в XP.
См. ms-help://MS.PSDK.1033/sysinfo/base/getting_the_system_version.htm
|
unreliable |
28-06-2004 16:06 205031 |
hasherfrog
ссылка не пашет!
|
hasherfrog |
28-06-2004 16:10 205032 |
unreliable
Ссылка работает только у тех, у кого установлен PSDK. Это локальная ссылка. на самом-то деле.
|
unreliable |
28-06-2004 16:10 205033 |
|
hasherfrog |
28-06-2004 16:19 205034 |
unreliable
Второй пост - как раз переложенное на Delphi средство из PSDK.
Очень хорошо, что не пришлось выкладывать здесь весь код :)
|
Время: 05:00.
© OSzone.net 2001-