الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التعامل مع Registry في فيجوال بيسك .Net (الجزء الثاني)

مغلق
بدأه محمد الفياض في 5 أغسطس 2002 · 9 رد · 5,736 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

* يجب علي أن تقرا الجزء الأول قبل الخوض في هذا الدرس

إذا كنت تريد الذهاب إلى الجزء الأول أنقر على هذه الوصلة

/index.php?showtopic=14134

في هذا الدرس سوف نقوم بإنشاء مفتح في مسجل النظام ونقوم بوضع قيمة له ومن ثم نحذف هذا المفتاح

يجب عليك وضع هذا الكود أعلى محرر الأكواد ( خارج الفئة الرئيسية )

Imports Microsoft.Win32

هيا لنبدأ

أنشاء مفتاح جديد في مسجل النظام :-

' انشاء الكائن
        Dim reg As Registry
        ' أنشاء المفتاح
        reg.ClassesRoot.CreateSubKey("arabteam2000")

في الكود السابق سوف يقوم بإنشاء مفتاح في مسجل النظام تحت الدليل HKEY_CLASSES_ROOT

وأسمه arabteam2000 أرجوا أن تكون هذه الخطوة مفهومه .

فتح المفتاح السابق وإنشاء قيمة سلسة * داخله :-

' انشاء الكائن
        Dim reg As Registry
        'إنشاء كائن للتعامل مع المفتاح
        Dim regkey As RegistryKey = _
reg.ClassesRoot.OpenSubKey("arabteam2000", True)
        'إنشاء مفتاح جديد 
        regkey.SetValue("vb.net", "top")

في الكود السابق قمنا بفتح المفتاح arabteam2000 وأنشئنا قيمة سلسة داخله و جعلنا قيمتها top

ملاحظات /

إذا كانت قيمة سلسة موجود ة مسبقاً فسيقوم البرنامج بإسناد القيمة الجديدة له أي تغيرها

قيمة سلسة : لم أجد لها مسمياً ولذلك أخذت أسمه من مسجل النظام كما ترجمتها مايكروسوفت العربية .

معرفة قيمة سلسة :-

  ' انشاء الكائن
        Dim reg As Registry
        'إنشاء كائن للتعامل مع المفتاح
        Dim regkey As RegistryKey = _
reg.ClassesRoot.OpenSubKey("arabteam2000", True)
        ' معرفة قيمة سلسة
        MsgBox(regkey.GetValueNames("vb.net"))
        'سوف تظهر  top

أظن الكود واضح

حذف قيمة سلسة :-

   ' انشاء الكائن
        Dim reg As Registry
        'إنشاء كائن للتعامل مع المفتاح
        Dim regkey As RegistryKey = reg.ClassesRoot.OpenSubKey("arabteam2000", True)
        ' حذف قيمة سلسة 
        regkey.DeleteValue("vb.net")

أظن الكود واضح

حذف مفتاح :-

يمكنك حذف مفتاح arateam2000 على شرط أن لا يكون متفرع منه مفاتيح أخرى بهذا الكود

  ' انشاء الكائن
        Dim reg As Registry
        ' حذف مفتاح
        reg.ClassesRoot.DeleteSubKey("arabteam2000")

أما إذا كان متفرع منه مفاتيح أخرى وتريد حذفها جميعاً فعليك إستعمال DeleteSubKeyTree هكذا

' انشاء الكائن
        Dim reg As Registry
        ' حذف مفتاح مع المفاتيح التي بداخله 
        reg.ClassesRoot.DeleteSubKeyTree("arabteam2000")

هذه الأشياء الأساسية للتعامل مع مسجل النظام يمكنك التعمق أكثر باستخدام تعليمات فيجوال ستديو Net

تم تعديل هذه المشاركة بواسطة walcom في 25 يوليو 2005 في 13:20

#2

أخوي محمد الفياض

جزاك الله خير على هذه الدروس الممتعة التي تقدمها لهذا المنتدى الكبير

عند تطبيقي لهذا الدرس ظهرت لي رسالة :confused::confused::confused: لم أستطع حلها :confused::confused::confused:

الرسالة:

An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll



Additional information: Cast from string "vb.net" to type 'Integer' is not valid.

لم أضعها إلى أن انتهت كل المحاولات في البحث عن حل لهذه المشكلة.:confused::confused::confused::confused::confused::confused:

تحياتي..:cool:

#3

رسالة الخطأ بعد أن اخرجتها عن طريق Try ... Catch:

System.InvalidCastException: Cast from string "vb.net" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.DoubleType.Parse(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.DoubleType.Parse(String Value)
   at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString(String Value)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString(String Value)
   at RegEdit.frmLogin.frmLogin_Load(Object sender, EventArgs e) in E:Documents and SettingsFahadMy DocumentsVisual Studio ProjectsRegEditfrmLogin.vb:line 171
#4

يا شباب ما فيه أحد يعرف :'(:'(:'(:'(:'(

وكل عام وأنتم بخير .

تحياتي..:cool:

#5

اخي العزيز مافي مشكله ولاشئ

المهم انك لا تضيف اي سئ في Local Mashine

انا جربتها واشتغلت تمام

#6

اخي العزيز مافي مشكله ولاشئ

المهم انك لا تضيف اي سئ في Local Mashine

انا جربتها واشتغلت تمام

ولكن السوال هو لمذا ؟؟؟؟؟

#7

جزاك الله خيرا

ياحبذا لو يكون درسك مدعم بأمثلة

راسلني على

mamb121@hotmail.com

أو تفضل وتكرم بزيارة موقعي

www.tecnyt.com

#8

السلام عليكم ورحمة الله وبركاته

لو سمحتم عايز أعرف أيه أهمية الregistry

#9

أهمية الريجيستري ؟؟؟؟؟؟؟ مممممممم

ممكن نقول انها تمكنك من حفظ معلومات خاصة ببرنامجك مثلا و استرجاعها وقتما شئت و طبعا الفائدة الكبيرة و المتداولة بين الجميع هي أن فيها خصائص تتعلق بالنظام تمكنك من التحكم في النظام على كيفك و اليك هذا الكلاس الذي يحتوي على حوالي 70 function تتحكم في مفاتيح في الريجيستري تتعلق بالنظام مثل ابطال عمل ال Task Manager ...

http://ayoub.awardspace.com/Mag/index.php?...6&Itemid=33

#10

بسم الله الرحمن الرحيم

شكرا crazy-man :D :D :D

هذا الموضوع مغلق.

مواضيع مشابهة