delphi4arab منتديات دلفي للعرب
معرفة النظام المنصب في الحاسوب - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي والتعامل مع النظام و الذاكرة (https://delphi4arab.net/forum/forumdisplay.php?fid=20)
+--- الموضوع : معرفة النظام المنصب في الحاسوب (/showthread.php?tid=1461)



معرفة النظام المنصب في الحاسوب - MjIrIm - 02-01-2010

في البداية السلام عليكم


دالة لمن يرد معرفة النظام المنصب عنده

كود :
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 := '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;

بالتوفيق للجميع
و السلام.



معرفة النظام المنصب في الحاسوب - kachwahed - 02-01-2010

وعليكم السلام ورحمة الله وبركاته
بارك الله لك أخي MjIrIm.
هذا التابع مفيد جدا لكنه يحتاج Update لحالة WindowsSeven
يمكن مبدئيا يمكن استخدام المفتاح:
كود :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
لقراءة القيمة ProductName



معرفة النظام المنصب في الحاسوب - MjIrIm - 02-01-2010

نعم لاحظت ذلك منذ قبل
لكني وضعتها للافادة لمن يريد المحاولة و البحث

في الحقيقة عندي مجموعة من المواضيع و المشاركات كنت
سابقا مبرمج أن توضع منذ 3 أشهر تقريبا لكن لكثرة المشاغل
لم أستطع, أحاول الان متابعة ما فاتني من مواضيع هامة
و المشاركة ولو بالقليل
بارك الله فيك أخي kachwahed

و السلام.



معرفة النظام المنصب في الحاسوب - kachwahed - 02-01-2010

المصدر الرسمي من عند Microsoft لدالة تحديد النظام مكتوبة بـ #C
كود :
http://msdn.microsoft.com/en-us/library/ms724429%28VS.85%29.aspx
نفس الدالة بلغة دلفي وتشمل نظام التشغيل Windows 7 أيضا وجربتها على Delphi2010. في المرفقات.
أيضا يمكن استخدام الوحدة JclSysInfo من المكتبة العملاقة JEDI Code Library
شكرا كثيرا أخي الكريم.



معرفة النظام المنصب في الحاسوب - Delphiero - 23-05-2011

قمت بتجربة جميع الاكواد السابقه تتطلب الفتح بالادمن هذا الكود نجح معي
كود :
function getwinversion: String; begin result:='unbekannte version'; case win32platform of 1:// 9x-reihe if win32majorversion=4 then begin case win32minorversion of 0: Result:='windows 95'; 10: Result:='windows 98'; 90: Result:='windows me'; end; end; 2: // nt-reihe case win32majorversion of 3:if win32minorversion=51 then result:='windows nt 3.51'; 4:if win32minorversion=0 then result:='windows nt 4'; 5:case win32minorversion of 0: Result:='windows 2000'; 1: Result:='windows xp'; 2: Result:='windows .net server'; end; 6:case win32minorversion of 0: Result := 'windows vista'; 1: Result := 'windows 7'; end; end; end; //win32csdversion enthält informationen zu servicepacks if win32csdversion<>'' then result:=result +' '+ win32csdversion; end; procedure tform1.button1click(sender: Tobject); begin label1.caption:= getwinversion; end;



معرفة النظام المنصب في الحاسوب - kachwahed - 23-05-2011

ينصب في بيئة Windows فقط!
OK، لكن أي إصدار Windows؟ 3.11، 95، 98، NT2003، 2000NT، Win7، WinXP...
شيء آخر هذا لمعرفة على أي نظام يعمل برنامجك وليس على أي نظام تم تنصيب دلفي فيه!
للعلم، يمكن تشغيل معظم برامج Winodws على توزيعات أخرى في وضع محاكاة (مثال Wine الشهير في Linux)
ويمكن العكس أيضا...



معرفة النظام المنصب في الحاسوب - Agmcz - 17-04-2014

إضافة طفيفة على الوحدة التي وضعها أخي kachwahed في المشاركة رقم 4
لدعم Windows 8 مبدئيا حتى إشعار اخر من msdn
تم دعم النسخ التالية Pro, Enterprise تم تجريب على Windows 8 Pro



معرفة النظام المنصب في الحاسوب - Agmcz - 03-09-2014

إضافة دعم Windows 8.1 حتى إشعار آخر من msdn



معرفة النظام المنصب في الحاسوب - Delphi4Us - 16-09-2014

كود :
var hDWMDLL: Cardinal = 0; DwmIsCompositionEnabled: function(pfEnabled: Pbool): HRESULT; stdcall; function IsWindowsAero: Boolean; var R: longbool; begin Result := false; if hDWMDLL <> 0 then begin if @DwmIsCompositionEnabled <> nil then begin DwmIsCompositionEnabled(@R); Result := R; end; end; end;



معرفة النظام المنصب في الحاسوب - Delphi4Us - 16-09-2014

كود :
procedure GetWindowsVersion(var Major, Minor: Integer); var Ver : Longint; begin Ver := GetVersion; Major := LoByte(LoWord(Ver)); Minor := HiByte(LoWord(Ver)); end; function IsW7: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := (major = 6) and (minor = 1); end; function Is9XOS: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := (major < 5); end; function IsW8: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := ((major = 6) and (minor = 2)) or (major > 6); end; function IsVistaOs: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := (major >= 6); end; function CheckWXP: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := (major > 5) or ((major = 5) and (minor = 1)); end; function CheckW2kWXP: Boolean; var Major, Minor : Integer; begin GetWindowsVersion(major, minor); Result := (major > 5) or ((major = 5) and ((minor = 0) or (minor = 1) or (minor = 2))); end;