المشاركات : 41
المواضيع 22
:
: 0
الإنتساب : Feb 2010
بسم الله الرحمن الرحيم
السلام عليكم ورحمه الله وبركاته
طريقه بسيطه من خلال ملفات الريجيستري أستخراج Os version
تشتغل علي أكس بي وفيستا وويندوز سفن
في قائمه uses نضمن Registry
ثم في نضيف Button و Edit
نكتب بال Button
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var delphi4arab : TRegistry;
begin
delphi4arab := TRegistry.Create;
delphi4arab.RootKey := HKEY_LOCAL_MACHINE;
Try
delphi4arab.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion',True) ;
edit1.Text := delphi4arab.ReadString('ProductName') ;
except
end;
end;
كل من 1 user says قال شكرا ل php3man على المشاركة المفيدة1 user says Thank You to php3man for this post
• mohamed49
المشاركات : 14
المواضيع 2
:
: 0
الإنتساب : Feb 2010
بارك الله فيك و يوجد اكتر من طريقة لمعرفة النظام .
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
وعليكم السلام ورحمة الله
ينبغي دائما تحرير الذاكرة:
كود :
function GetWindowsName: string;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', False) then
Result := Reg.ReadString('ProductName');
[color=Blue]finally[/color]
[color=Blue] Reg.Free;[/color]
end;
end;
في هذا زيادة تفاصيل:
PHP كود :
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\CurrentVersion', 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;
بالتوفيق.
المشاركات : 64
المواضيع 11
:
: 0
الإنتساب : Dec 2009
للفائدة هذا الكود ليس من اختراعي ولكن بعد البحث وجدته :
كود :
TWinVersion = (Unknown, Win95, Win98, Win98SE, WinNT, WinME, Win2000, WinXP,
WinVista);
// ---------------------------
function GetWinVersion: TWinVersion;
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 := WinNT
else if (majorVersion = 5) and (minorVersion = 0) then
Result := Win2000
else if (majorVersion = 5) and (minorVersion = 1) then
Result := WinXP
else if (majorVersion = 6) then
Result := WinVista;
end;
VER_PLATFORM_WIN32_WINDOWS:
begin
if (majorVersion = 4) and (minorVersion = 0) then
Result := Win95
else if (majorVersion = 4) and (minorVersion = 10) then
begin
if osVerInfo.szCSDVersion[1] = 'A' then
Result := Win98SE
else
Result := Win98;
end
else if (majorVersion = 4) and (minorVersion = 90) then
Result := WinME
else
Result := Unknown;
end;
end;
end;
end;
وينقصه الدلالة على ويندوز 7
وإن تقدم ذو تقوى بصالحةٍ *** قدمتُ بين يديه عبرة الندمِ
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
[COLOR="black"]
إقتباس :وينقصه الدلالة على ويندوز 7
تلك طريقة أخرى تم طرحها سابقا مع إضافة Win7 هنا:
http://www.delphi4arab.net/forum/showthr...p?tid=2264
[/COLOR]