Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
5th
Фев
Определить версию Windows
Posted by micher under Delphi
Как определить версию Windows?
Кольша
5 способов:
Как узнать версию Windows?
// Способ первый
// Win95 или выше и NT3.5 или выше
function GetWinVer: string;
var
temp1, temp2, temp3: integer;
OsVer: OSVERSIONINFO;
begin
OsVer.dwOSVersionInfoSize := SizeOf( OSVERSIONINFO );
GetVersionEx( OsVer );
temp1 := OsVer.dwMajorVersion;
temp2 := OsVer.dwMinorVersion;
temp3 := OsVer.dwPlatformId;
if temp1 = 4 then
if temp2 = 0 then
if temp3 = VER_PLATFORM_WIN32_WINDOWS then
Result := 'Windows 95';
if temp1 = 4 then
if temp2 = 10 then
Result := 'Windows 98';
if temp1 = 4 then
if temp2 = 90 then
Result := 'Windows Me';
if temp1 = 3 then
if temp2 = 51 then
Result := 'Windows NT 3.51';
if temp1 = 4 then
if temp2 = 0 then
Result := 'Windows NT 4.0';
if temp1 = 5 then
if temp2 = 0 then
Result := 'Windows 2000';
if temp1 = 5 then
if temp2 = 1 then
Result := 'Windows XP';
if temp1 = 6 then
if temp2 = 0 then
Result := 'Windows Vista';
if temp1 = 6 then
if temp2 = 1 then
Result := 'Windows 7';
end;
// Способ второй
{true = Win9x, false = NT}
function isWin9x: Bool;
asm
xor eax, eax
mov ecx, cs
xor cl, cl
jecxz @@quit
inc eax
@@quit:
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if isWin9x then
Form1.Caption := 'Win9x'
else
Form1.Caption := 'WinNT';
end;
// Способ третий
procedure TForm1.FormCreate(Sender: TObject);
begin
case Win32Platform of
VER_PLATFORM_WIN32s: ShowMessage( 'System is Win32s' );
VER_PLATFORM_WIN32_WINDOWS: ShowMessage( 'System is Windows 95' );
VER_PLATFORM_WIN32_NT: ShowMessage( 'System is Windows NT' );
end;
end;
// Способ четвертый
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := 'Win32Platform = ' + IntToStr( Win32Platform ) + #13 +
'Win32MajorVersion = ' + IntToStr( Win32MajorVersion ) + #13 +
'Win32MinorVersion = ' + IntToStr( Win32MinorVersion ) + #13 +
'Win32BuildNumber = ' + IntToStr( Win32BuildNumber );
ShowMessage( s );
end;
// Способ пятый
procedure TForm1.Button1Click(Sender: TObject);
begin
if CheckWin32Version( 6, 1 ) then
ShowMessage( 'Windows 7' )
else
if CheckWin32Version( 6, 0 ) then
ShowMessage( 'Windows Vista' )
else
if CheckWin32Version( 5, 1 ) then
ShowMessage( 'Windows XP' )
else
if CheckWin32Version( 5, 0 ) then
ShowMessage( 'Windows 2000' );
end;
и еще:
type
TWinVersion = (wvUnknown, wv95, wv98, wvME, wvNT3, wvNT4, wvW2K, wvXP);
function DetectWinVersion: TWinVersion;
var
OSVersionInfo: TOSVersionInfo;
begin
Result := wvUnknown;
OSVersionInfo.dwOSVersionInfoSize := sizeof(TOSVersionInfo);
if GetVersionEx(OSVersionInfo) then
begin
case OSVersionInfo.DwMajorVersion of
3: Result := wvNT3;
4: case OSVersionInfo.DwMinorVersion of
0: if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
Result := wvNT4
else
Result := wv95;
10: Result := wv98;
90: Result := wvME;
end;
5: case OSVersionInfo.DwMinorVersion of
0: Result := wvW2K;
1: Result := wvXP;
end;
end;
end;
end;
function DetectWinVersionStr: string;
const
VersStr: array[TWinVersion] of string = (
'Unknown',
'Windows 95',
'Windows 98',
'Windows ME',
'Windows NT 3',
'Windows NT 4',
'Windows 2000',
'Windows XP');
begin
Result := VersStr[DetectWinVersion];
end;
Случайные статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)