القراءة من و الكتابة إلى السجل باستخدام مساحة الاسم Microsoft.Win32
و على الرغم من أن My.Computer.Registry يجب أن يغطي الاحتياجات الأساسية أثناء البرمجة مقابل السجل, و يمكنك أيضاً استخدام فئات Registry و RegistryKey في مساحة الاسم Microsoft.Win32 لـ .NET Framework.
المفاتيح في فئات السجل
فئة Registry توفر مفاتيح السجل الأساسية التي يمكن استخدامها للوصول إلى المفاتيح الفرعية و قيمها . و المفاتيح الأساسية نفسها هي للقراءة فقط. و يسرد الجدول التالي و يصف المفاتيح السبعة المكشوفة عن طريق فئة Registry .
المفتاح |
الوصف |
---|---|
تعريف أنواع المستندات و الخصائص المقترنة بتلك الأنواع. |
|
يحتوي على معلومات تكوين الأجهزة الغير خاصة بالمستخدم. |
|
يحتوي على معلومات حول تفضيلات المستخدم الحالية مثل متغيرات البيئة. |
|
يحتوي على بيانات السجل الحيوي مثل تلك المستخدمة من قبل برامج تشغيل الأجهزة الظاهرية. |
|
يحتوي على خمسة مفاتيح فرعية (أجهزة ، SAM ، الأمان ، البرامج ، النظام) التي تقيِد بيانات التكوين من أجل الكمبيوتر المحلي. |
|
يحتوي على معلومات الأداء لمكونات البرنامج. |
|
يحتوي على معلومات حول تفضيلات المستخدم الافتراضية . |
ملاحظة الأمان |
---|
و يكون أكثر أماناً كتابة البيانات إلى المستخدم الحالي (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
راجع أيضًا:
المهام
استكشاف الأخطاء و إصلاحها : معالجة السجل
المرجع
المبادئ
نظرة عامة حول معالجة الاستثناء المصنفة لـ Visual Basic
القراءة من و الكتابة إلى السجل باستخدام الأجزاء التالية الخاصة بي