السلام عليكم ورحمه الله وبركاته ،
بلا شك ان مبرمج اي لغة net. سيشعر بالنقص بدون استخدام فضاءات الاسماء والفئات التي تأتي مع اطار العمل net framework. فهناك الكثير من الفئات التي تحتوي على طرق وخصائص ودوال مهمه ومفيده تمكنك من الاستغناء بشكل كامل عن WinAPI .
هنا سأضع مقدمه بسيطه عن الفئة System.Environmentوالتي تختص بالـ Environment و الـ PlatForm ( بالعربي البيئة ومنصه العمل ) الخاصه بنظام التشغيل .
سأضعها على شكل اكواد تطبيقيه مفيده تمكن من استيعاب هذه الفئه واهم ما فيها ، وانبه الى انني لم اعد مقاله او شرح شامل لهذه الفئه ولكن من خلال التجربه تمكنت الى الوصول لمحتوى هذه المقاله .
1- الحصول على قائمة بمحركات الأقراص المتوفره في الجهاز الحالي :
في الكود التالي سنستخدم الطريقة GetLogicalDrives للحصول على قائمه بمحركات الاقراص المتوفره :
'تعريف مصفوفة بقائمة الاقراص الموجوده بالنظام Dim LogicalDrivesList() As String = Environment.GetLogicalDrives 'متغير يمثل محرك اقراص Dim DriveItem As Integer = LogicalDrivesList.GetLowerBound(0) 'متغير يمثل مجموع محركات الاقراص Dim DrivesCount As Integer = LogicalDrivesList.GetUpperBound(0) For DriveItem = 0 To DrivesCount<BR>ListBox1.Items.Insert(DriveItem, LogicalDrivesList(DriveItem)) Next
طبعا في المثال السابق نحتاج الى توفر اداه اسمها ListBox1 على النافذة .
2- الحصول على اسم الجهاز : Machine Name :
MsgBox(System.Environment.MachineName)
3-الحصول على نوع نظام التشغيل الحالي :
سيقدم الكود التالي نوع نظام التشغيل الحالي :
MsgBox(System.Environment.OSVersion.Platform.ToString)
وهنا اود ايضاح قائمة بالأنواع المتوفره :
Unix Win32NT Win32S Win32Windows WinCE
طبعا اذا كنت تستخدم ويندوز NT,2000,XP,2003 سيظهر لك نوع نظام التشغيل Win32NT
4- الحصول على إصدار حزمة الخدمات الخاصة بالنظام :
فمثلا الكود التالي سيظهر لك Service Pack 2 في حالة كون نظام التشغيل XP SP2 :
MsgBox(System.Environment.OSVersion.ServicePack.ToString)
5- الحصول على إصدار نظام التشغيل :
MsgBox(System.Environment.OSVersion.Version.Major)
وهنا سيعطيك نص اكثر تفصيلا :
MsgBox(System.Environment.OSVersion.VersionString)
6- الحصول على مجموع البرامج العاملة :
سيعطيك الكود التالي مجموع البرامج التي تعمل ، وهي التي تظهر لك عندما تضغط على الازرار Alt + Ctrl + Del في لسان التبويب Applications :
MsgBox(System.Environment.ProcessorCount)
7- الحصول على مسار مجلد System32 الخاص بنظام التشغيل :
وهذا مفيد جدا ، من خلاله ممكن تعرف الـ Partition التي تم تركيب نظام التشغيل عليه :
MsgBox(System.Environment.SystemDirectory)
8- الحصول على قيمه بالمللي ثانيه توضح منذ متى ونظام التشغيل يعمل :
MsgBox(System.Environment.TickCount)
9- عرض النطاق ( Domain ) الذي ينتمي له الجهاز :
MsgBox(System.Environment.UserDomainName)
10- الحصول على اسم المستخدم الحالي للنظام :
MsgBox(System.Environment.UserName)
11- الحصول على مسار Path لأي مجلد من مجلدات النظام :
نعم حيث يمكنك الحصول على مسار لأي مجلد من مجلدات النظام ، فمثلا الكود التالي يعطيك مسار مجلد المستندات MyDocument للمستخدم الحالي :
MsgBox(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
وجربوا بنفسكم الحصول على مسارات بقيه المجلدات فهو امر سهل جدا
12- الحصول على مسار ملف Application.svhost.exe الخاص ببرنامجك :
MsgBox(System.Environment.CommandLine)
وهو الذي للآن لا اعرف ما فائدته 
ختاما أتمنى انني قدمت شيء يستفيد من احد ولو كان بسيطا 
تقبلوا تحياتي لكم جميعا

