PDA

View Full Version : نوع سیستم عامل



medooo
یک شنبه 30 آبان 1389, 11:08 صبح
با سلام
می خواستم بدونم که چه طور می شه نوع سیستم عامل رو تشخیص بدیم یعنی اگه من نرم افزارمو که با دلفی نوشتم باز کنم به من بگه که چه سیستم عاملیه ؟؟؟؟؟؟

medooo
یک شنبه 30 آبان 1389, 12:05 عصر
پیداش کردم
ممنون از جواب هایی که به من دادید

Felony
یک شنبه 30 آبان 1389, 12:30 عصر
نوع سیستم عامل یا نوع ویندوز !


function GetWinVersion: String;
var
osVerInfo: TOSVersionInfo;
majorVersion, minorVersion: Integer;
begin
Result := 'Unknown';
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo) ;
if GetVersionEx(osVerInfo) then
begin
minorVersion := osVerInfo.dwMinorVersion;
majorVersion := osVerInfo.dwMajorVersion;
case osVerInfo.dwPlatformId of
VER_PLATFORM_WIN32_NT:
begin
if majorVersion <= 4 then
Result := 'Win NT'
else if (majorVersion = 5) and (minorVersion = 0) then
Result := 'Win 2000'
else if (majorVersion = 5) and (minorVersion = 1) then
Result := 'Win XP'
else if (majorVersion = 6) then
Result := 'Win Vista'
else if (majorVersion = 6) and (minorVersion = 1) then
Result := 'Win 7';
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
if (majorVersion = 4) and (minorVersion = 0) then
Result := 'Win 95'
else if (majorVersion = 4) and (minorVersion = 10) then
begin
if osVerInfo.szCSDVersion[1] = 'A' then
Result := 'Win 98SE'
else
Result := 'Win 98';
end
else if (majorVersion = 4) and (minorVersion = 90) then
Result := 'Win ME'
else
Result := 'Unknown';
end;
end;
end;
end;

devil00x
دوشنبه 01 آذر 1389, 10:42 صبح
با این کد هم میتونی مشکلت رو حل کنی


uses registry;

function GetWindowsVersion: string;
var
VerInfo: TOsversionInfo;
PlatformId, VersionNumber: string;
Reg: TRegistry;
begin
VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
GetVersionEx(VerInfo);
// Detect platform
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
case VerInfo.dwPlatformId of
VER_PLATFORM_WIN32s:
begin
// Registry (Huh? What registry?)
PlatformId := 'Windows 3.1';
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
// Registry
Reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVe rsion', False);
PlatformId := Reg.ReadString('ProductName');
VersionNumber := Reg.ReadString('VersionNumber');
end;
VER_PLATFORM_WIN32_NT:
begin
// Registry
Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False);
PlatformId := Reg.ReadString('ProductName');
VersionNumber := Reg.ReadString('CurrentVersion');
end;
end;
Reg.Free;
Result := PlatformId + ' (version ' + VersionNumber + ')';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := GetWindowsVersion;
end;