القراءة من و الكتابة إلى السجل باستخدام مساحة الاسم Microsoft.Win32

و على الرغم من أن My.Computer.Registry يجب أن يغطي الاحتياجات الأساسية أثناء البرمجة مقابل السجل, و يمكنك أيضاً استخدام فئات Registry و RegistryKey في مساحة الاسم Microsoft.Win32 لـ .NET Framework.

المفاتيح في فئات السجل

فئة Registry توفر مفاتيح السجل الأساسية التي يمكن استخدامها للوصول إلى المفاتيح الفرعية و قيمها . و المفاتيح الأساسية نفسها هي للقراءة فقط. و يسرد الجدول التالي و يصف المفاتيح السبعة المكشوفة عن طريق فئة Registry .

المفتاح

الوصف

ClassesRoot

تعريف أنواع المستندات و الخصائص المقترنة بتلك الأنواع.

CurrentConfig

يحتوي على معلومات تكوين الأجهزة الغير خاصة بالمستخدم.

CurrentUser

يحتوي على معلومات حول تفضيلات المستخدم الحالية مثل متغيرات البيئة.

DynData

يحتوي على بيانات السجل الحيوي مثل تلك المستخدمة من قبل برامج تشغيل الأجهزة الظاهرية.

LocalMachine

يحتوي على خمسة مفاتيح فرعية (أجهزة ، SAM ، الأمان ، البرامج ، النظام) التي تقيِد بيانات التكوين من أجل الكمبيوتر المحلي.

PerformanceData

يحتوي على معلومات الأداء لمكونات البرنامج.

Users

يحتوي على معلومات حول تفضيلات المستخدم الافتراضية .

ملاحظة الأمانملاحظة الأمان

و يكون أكثر أماناً كتابة البيانات إلى المستخدم الحالي (CurrentUser) من الكمبيوتر المحلي (LocalMachine). و يتواجد الشرط الذي يشير عادةً إلى "squatting" عند إنشاء المفتاح الذي تقوم بإنشائه مسبقًا بواسطة عملية أخرى, و من المحتمل أن يكون ضاراً. و لمنع حدوث ذلك , استخدم أسلوب مثل GetValue، الذي يرجع Nothing في حالة عدم وجود المفتاح مسبقاً.

قراءة القيمة من السجل

توضح التعليمات البرمجية التالية كيفية قراءة السلسلة من HKEY CURRENT USER.

Dim regVersion As Microsoft.Win32.RegistryKey
Dim keyValue = "Software\\Microsoft\\TestApp\\1.0"
regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyValue, False)
Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
    intVersion = regVersion.GetValue("Version", 0)
    regVersion.Close()
End If

تقرأ التعليمات البرمجية التالية ، و تزيد ، ثم تقوم بكتابة سلسلة إلى HKEY CURRENT USER.

Dim regVersion = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(
                  "SOFTWARE\\Microsoft\\TestApp\\1.0", True)
If regVersion Is Nothing Then
    ' Key doesn't exist; create it.
    regVersion = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(
                 "SOFTWARE\\Microsoft\\TestApp\\1.0")
End If

Dim intVersion As Integer = 0
If regVersion IsNot Nothing Then
    intVersion = regVersion.GetValue("Version", 0)
    intVersion = intVersion + 1
    regVersion.SetValue("Version", intVersion)
    regVersion.Close()
End If

راجع أيضًا:

المهام

استكشاف الأخطاء و إصلاحها : معالجة السجل

المرجع

SystemException

ApplicationException

RegistryProxy

المبادئ

نظرة عامة حول معالجة الاستثناء المصنفة لـ Visual Basic

المهام السجل الشائعة

السجل و الأمان

القراءة من و الكتابة إلى السجل باستخدام الأجزاء التالية الخاصة بي