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

الطريقة المثلى للتعامل مع مسجل النظام (Registry)

مغلق
بدأه Abu Sabreen في 6 أغسطس 2005 · 32 رد · 9,499 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله نبدأ.......

ملاحظة1: يوجد في المرفقات Class Module تحتوي على التعريفات الازمة ( سوف تعرف اهميتها عندما تقرا الدرس)

ملاحظة 2: يوجد هنالك مثال تطبيقي على الدرس ( في المرفقات)

ملاحظة3 : شكر خاص للاخ صلاح الدين(The MP) حيث انه كان هذا اول مايعلمني اياه في الفيجوال.

هنالك طرق كثيرة للتعامل مع مسجل النظام ( Registry) ولكن منها ماهو صعب ومنها ما يعتبره برامج الحماية على انه script مثل

برنامج المكافي الشهير.

هذه طريقة عتبرها ممتازة من وجهة نظري ولم اواجه فيها اي عقبات.

اولا يجب ان يحتوي المشروع على Class Module تحتوي على التعريفات الازمة ( وضعتها في المرفقات).

اولا نقوم بتعريف المتغير على انه من النوع new cregistry حيث ان cregistry اسم ال Class Module كما في الكود :

Dim c As New cRegistry

الان نقوم بشرح لاهم خصائص المتغير C ......

الخاصية الاولى : هنا نحدد المفتاح الرئيسي الذي نريد من داخل الريجستري والصورة التالية تبين المفاتيح الرئيسية داخل الRegistry وهي خمسة :

 C.ClassKey = HKEY_CURRENT_USER

08_08_05_03_45_20_1123541120main.JPG

الخاصية الثانية : هنا نحدد المفتاح الفرعي طبعا المفتاح الفرعي هو عبارة عن ما ياتي بعد المفاتيح الرئيسية.

c.SectionKey = "Software\Microsoft\Windows\CurrentVersion\Run"

الخاصية الثالثة : وهي تعني نوع القيمة المراد انشائها وهي ثلاثة انواع :

1. REG_SZ.

2. REG_DWORD.

3. REG_BINARY ( وهي معقدة بعض الشيئ وغير مستخدمة كثيرا).

  C.ValueType = REG_SZ

الخاصية الرابعة : نحدد اسم القيمة المراد انشائها.

C.ValueKey = "Abo Sabreen"

الخاصية الخامسة : نحدد القيمة نفسها.

 C.Value = "C:\Windows\system32\calc.exe"

وهذه الصورة توضح مكان الخصائص الثلاثة السابقة داخل الRegistry :

08_08_05_03_47_47_11235412673.JPG

الخاصية السادسة : هنا يتم انشاء المفتاح اعتمادا على المعطيات السابقة.

  C.CreateKey

لخاصية السابعة : هنا يتم حذف القيمة فقط بدون ان يتم حذف المفتاح كاملا.

C.DeleteValue

الخاصية الثامنة:هنا يتم حذف المفتاح كاملا.

c.DeleteKey

---------------------------------------

الان جرب البرنامج المرفق وسوف تجد ان المفتاح انشئ في المسار المحدد

وعند تشغيل الجهاز سوف يشتغل برنامج الالة الحاسبة.

طبعا يمكنك جعل برنامجك يشتغل مع الويندوس بتغيير القيمة الى مسار برنامجك مثلا :

 c.Value = App.Path & "ur program name" & ".exe"

ارجو ان اكون قد وفقت في الشرح.

cRegistry.rar

مثال تطبيقي.rar

تم تعديل هذه المشاركة بواسطة abu sabreen في 9 أغسطس 2005 في 01:46

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#2

جزاك الله خيراً أخي abu sabreen

مواضيع و دروس
الكتابة بعدة ألوان داخل الــ TetxBoxمكتبة الأكوادتحميل الــ Visual Basic Express 2005
تحميل فيجوال بسيك 6أكواد × أكواددروس في الخوارزميات
لتحميل عدة إصدارات من كريستال ريبورتتحميل برنامج Activ Skin 4.3جمل الــ Sql من الألف إلى الياء
معظم المواقع المختصة بالفيجوال بيسيكموقع كويس للأيقوناتمرجع شامل لأدوات ActivX
كيفية نطق الحرف المكتوب شرح عن كيفية إقامة علاقة مع Data Reprot باستخدام الــ DataEnvironment علاقة مع الـ Datareport بدون استخدام DataEnvironment (( شرح ))
كتاب Migrating From DAO to ADOإضافة لـ VB6 بريمج IndenterVB, إضافة لبيئة تطوير فيجوال بيسك 6حوار بينى و بين عضو حول ال winsock , اتمنى ان يعجبكم
Smart Indenter 3.5 لتنسيق الأكواد, هديه لكل الأعضاء السلسلة الدهبية في المواضيع العلمية ، إستغلال الـ Balloons في الـ Windows XP مصفوفات الأدوات Control Arrays افكار وتلميحات ! , لمن افتقدها من أيام الـ VB6.0
جعل خلفية الـ Mid Form تظهر بالكامل خواص الاداة Winsock لربط الاجهزة عن طريق الانترنتكيف يتم عمل تقارير بإستخدام HTML

7.gif
#3

ما شاء الله عليك اخى شرح ممتاز بارك الله فيك

#4

مشكور اخوي abu sabreen

على الوضوع المهم

وننتظر مواضيعك الجديدة

#5

مشكوووو ريا عبقري

جزاك الله خيرا ... الله يعين أخي ابراهيم على الموضوعات الرائعة التي تحتاج للتثبيت

ايه الحكاية هو انت بتقدم دروس السنة الجاية مرة واحدة ولا ايه :lol: :lol:

تحياتي لك

اخوك ناصر

#6

دائما مميز أخي العزيز

بارك الله فيك

gaza3-3.jpg
#7

ياللا ياهيمه شوف شغلك وثبت الموضوع :angry:

ممتاز ياابو صابرين :rolleyes:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#8

اولا اود ان اشكر كل من قام بتقديم باقة تهنئة وشكر والتي عززت في نفسي الحماس المستمر :lol:

اقتباس
ايه الحكاية هو انت بتقدم دروس السنة الجاية مرة واحدة ولا ايه 

حقيقة نعم فانا اريد ان يستفيد اكبر قدر من الاعضاء لتنعكس ايجابيا على مجموعي في الثانوية العامة

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#9

حبيبنا الغالي أبو صابرين

كيف طريقة استعراض .. ما كتبت في الريجستري من خلال مثال

لك جزيل الشكر .. وفقك الله

#10
اقتباس
كيف طريقة استعراض .. ما كتبت في الريجستري من خلال مثال

لم افهم ؟

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#11

ارجو من المشرفين اعطائي الصلاحية لتحرير المشاركة الاولى وذلك لانه هنالك بعض الاخطاء في رفع الصور

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#12

اخي العزيز ما شاء الله كلام يدل على دراية وخبرة في مجال البرمجة

من تواضع لله رفعه

#13

كيف طريقة استعراض .. ما كتبت في الريجستري من خلال مثالك

أي كيف أعرض .. ما عدلته في الريجستري

#14

موضوع جيد اخي العزيز وفئة برمجية ممتازة للعمل مع الريجستري بكل سهوله وبطريقة منطقية وواضحه وتخلو من الاخطاء بشرحك الكريم

تقبل تحياتي

#15

لا زلت انتظر .. طريقة استعراض .. ما كتبته

لكي أتأكد .. من الذي انكتب .. هل فعلا هو الذي أريد و إلا أقوم بتعديله

#16

اخي ابو زيد لاستعراض والتاكد من ان القيم كتبت في الريجستري

يجب عليك التاكد من ذلك يدويا

يعني ان تدخل الى ال Registry وترى القيم بنفسك

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#17

ما شاء الله عليك اخي الكريم abu sabreen و لا املك الا ان اسأل الله ان يرزقك النجاح الباهر في امتحاناتك ،، :)

خالص الشكر ..

بنت اليمن

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#18

السلام عليكم

اخى المتميز abu sabreen

فى الواقع انا مش قادر اتابع كل هذا الابداع :D

وفقك الله وزادك من علمه وان شاء تكون من اوائل دولة الاردن الشقيق فى الثانوية العامة

تم تعديل هذه المشاركة بواسطة hanysaad في 7 أغسطس 2005 في 23:39

Hany Saad Mostafa

ITI (Information Technology Institute) l

SD Dept.-Teaching Assistant

---

اسألكم الدعاء بظهر الغيب

#19

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

مشكور كثير على هالشرح

- على فكره هالشرح للـ Class Module الخاص بك وكيفيفة استعماله وليس كما أوهمني العنوان ، علما أنه أكثر من رائع كما أنه يبسط التعامل مع الريجستري .

لكنني كنت أود أن أجد درسا عن نفس الريجستري وعن طرق التعامل معه بشكل أعم ( أكثر من طريقة ( السلبيات والايجابيات ) .

صحيح الـ Class Mudul جنني :s :s :s

بالنسبة لسؤال الأخ أبو زيد ألا يوجد طريقة لمعرفة قيمة مفتاح معين والتأكد منها . حيث أن بعض البرامج تقوم بتخزين قيم خاصة بها على الريجستري لتستخدمها لاحقا كعدد مرات التشغيل ( في البرامج المؤقتة ) .

سؤالي ليس تشكيكا بمعلوماتك لكنه توضيح لوجهة نظري عن الموضوع .

اقتباس
وان شاء تكون من اوائل دولة الاردن الشقيق فى الثانوية العامة

وأكيدر بنتشرف بعبقري مثلك

والله يوفقك بالتوجيهي

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

تم تعديل هذه المشاركة بواسطة البريشي في 8 أغسطس 2005 في 09:41

********************* ******************** *********************

(( أشــهد أن لا اله الا الله ..... وأشهد أن محمد رسول الله ))

********************* ******************** *********************

لا تقـل من أيـن أبدأ

طـاعـة الله الـبدايـة

***

لا تقـل أين طـريـقي

شــرع الله الهـدايـة

***

لا تـقـل أيـن نعـيمي

جـنـة الله كـفـايـــــة

***

لا تقـل في الغـد أبدأ

ربمـــا تأتـي النهـايـــة

**************** **************** ****************

#20

الاخ نبهاني

شكرا لك وان شاء الله النجاح لي ولك

الاخ حسين :

شكرا لك ( هادا كله من زوقك :lol: )

الاخت بنت اليمن

اقتباس
ما شاء الله عليك اخي الكريم abu sabreen و لا املك الا ان اسأل الله ان يرزقك النجاح الباهر في امتحاناتك

الله يسمع منك وشكرا لك :lol:

الاخ هاني :

هل تقصد ابداعي ام ابداعك :lol:

فحقيقة المنتدى مش ملحق يعد عليك مشاركات.......مفيدة (h)

الاخ البريبشي

اهلا بك كركيا في المنتدى :lol:

بالنسبة لسؤالك وهو جعل البرنامج يشتغل لمدة معينة فهذا هو الكود المطلوب وهو يجعل البرنامج يشتغل لمدة 15 مرة :

Dim c As New cRegistry

    With c
        .ClassKey = HKEY_CURRENT_USER
        .SectionKey = "Software\Microsoft\Windows\CurrentVersion\Run"
        .ValueType = REG_SZ
        .ValueKey = "Abo Sabreen"
        .Value = c.Value + 1
        If c.Value = 15 Then
            MsgBox "Your time has expired"
            End
        End If
        .CreateKey
    End With

وبالنسبة للاخ ابو زيد فيمكنك استعراض ما في الريجستري عن طريق الكود بسهولة فهذا الكود مثلا يظهر مسج يبين قيمة المفتاح ( طبعا بعد تقديم المعلومات المطلوبة ) :

 Dim c As New cRegistry
    
    With c
        .ClassKey = HKEY_CURRENT_USER
        .SectionKey = "Software\Microsoft\Windows\CurrentVersion\Run"
        .ValueType = REG_SZ
        .ValueKey = "Abo Sabreen"
        .Value = "C:\Windows\system32\calc.exe"
        MsgBox .Value
        .CreateKey
    End With

ارجو ان يكون ذلك ما تقصده

والسلام

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#21

أسأل الله لك التوفيق . إنه على كل حال قدير

.. و لكن ليس انقطاعا كليا ...

#22

حبيبي الغالي .. الله يوفقك

باقي طريقة الحذف

#23

اخي ابو زيد للحذف طريقتين :

1. هذا الكود يقوم بحذف المفتاح الفرعي كاملا (اذا كان لديك صلاحية في حذفه حيث انه لا يمكنك حذف مفتاح الrun :

 c.DeleteKey

2. هذا الكود يقوم بحذف القيمة التي كتبتها انت بدون ان يحذف المفتاح الفرعي :

c.DeleteValue

واظن ان هذين الكودين موجودين في الشرح

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#24

ممكن مشروعيدعم ماقمت بشرحه الان ..... او كتاب او .......

#25

بارك الله فيك

استغفر الله العظيم من كل ذنب وأتوب إليه

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

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