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

Windows Registry

مغلقاستطلاع
بدأه C++er في 8 ديسمبر 2007 · 6 رد · 1,976 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام

مكتبة الريجسترى

3 مشارك في التصويت

?? ?????? ???????

???3 صوت · 100%
??0 صوت · 0%
???? ??????? ???? ??? API ??????0 صوت · 0%
#1 صاحب الموضوع

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

فى الماضى وجدت صعوبه شديده فى التعامل مع الريجسترى و بعد فترة من الزمن تعلمت دوال الـ API الخاصه به و اتقنتها و من ثم صنعت مكتبه شبه متكامله للتعامل مع الريجسترى.

قمت ببناء هذه المكتبه على غرار مكتبات ميكروسوفت لتسهيل التعامل معها و استخدمت فيها إسلوب الـ Class hierarchy لتسهيل التعامل معها

فى الوقت الحالى أقوم بعمل Documentation للمكتبه حتى يتسنى لمستخدميها التعامل معها و معرفة كل اجزائها.

للتحميل أضغط هنا

بعد تحميل الملف قم بتشغيله ستظهر لك الشاشه التاليه

2000301738707848476_rs.jpg

أضغط Install ستظهر لك رسالة بإنتهاء عملية التثبيت بنجاح. سيظهر لك الزر Register قم بالضغط عليه لتظهر لك رسالة تفيد بإنتهاء عملية التسجيل داخل النظام بنجاح يليها ظهور الرسالة التاليه

2000330228701581086_rs.jpg

من داخل الـ Reference اختر Registry Library v3.5 by Mohammed alaa و هذا هو وصف المكتبه

بعد ذلك نأتى لشرح سريع لعناصر المكتبه

تحتوى المكتبه على خمس Classes هما :

1. Registry : و هى الـ Class الرئيسية و التى من خلالها تستطيع إنشاء key أو keyvalue أو فتح key أو keyvalue او عمل Export لبيانات key معين او تحميل ملف .reg للريجسترى و تحتوى على الحدثين RegKey و Regkeyvalue و ينشطوا عند فتح key او keyvalue او إنشاء جديد.

2. RegKeys : و تمثل Collection من الـ RegKey و تحتوى فقط على الخاصيتين Count و Item و كلاهما للقراءة فقط.

3. RegKey : و تمثل Key واحد فقط داخل الريجسترى و يمكن من خلالها تعديل أسم الـ Key أو حذفه او التعامل مع الـ Keyvalues التى بداخله.

4. RegKeyValues : و تمثل Collection من الـ Keyvalues و تحتوى فقط على الخاصيتين Count و Item و كلاهما للقراءة فقط.

5. RegKeyvalue : و تمثل Keyvalue واحده فقط داخل الريجسترى و يمكن من خلالها تعديل أسم الـ Keyvalue أو حذفها او التعامل مع الـ Key الذى يحتويها.

الشكل التالى يوضح العلاقه بين الـ Classes الموجوده داخل المكتبه و بعضها

2004982926275378080_rs.jpg

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

و التالى هو مثال على احد إستخدامات المكتبه

شرح المثال: البرنامج به فورم واحده تحتوى على كومبو و ليست بوكس اختر من الكومبو أسم Key من الـ Keys الرئيسية و سيظهر جميع الـ Sub Keys الموجوده داخله فى الليست، إضغط Double Click على اى عنصر فى الليست لتظهر لك بعض من بياناته فى رسالة.

Example.rar

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Game Expert في 8 ديسمبر 2007 في 09:18

مدونتي: C++ Tips and Tricks

#2

الله يوفقك .......... خطأ في رابط المكتبة

#3

لقد رفعت الملف من جديد و يمكن تحميله من أى من الروابط الأتيه:

MiHD

أو

zShare

أو

Rapidshare

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#4

بارك الله ................. فيك

هل وضع خاصية التعديل ممكنة ......؟

اسم البرنامج الذي قام بإضافة المفتاح .......... ؟

#5
اقتباس
هل وضع خاصية التعديل ممكنة ......؟

اسم البرنامج الذي قام بإضافة المفتاح .......... ؟

ياريت توضح اكتر علشان انا مش فاهم قصدك

و الله لى التوفيق

مدونتي: C++ Tips and Tricks

#6

أداة رائعة لكن أمامها الكثير مثل :

- عمل Back Up.

- مسح قيم و مسارات.

- التأكد من وجود صلاحيات Admin (مجرد تسهيل على المبرمج اللى هيستخدم الأداة).

---

و ظائف متقدمة كـ : تسجيل نوع ملف للفتح ببرنامج معين.

---

تعديل : ممكن تصغر الصورة اللى فى توقيعك علشان الشاشات الصغيرة و شكرا لك.

تم تعديل هذه المشاركة بواسطة msayed2004 في 10 يناير 2008 في 18:21

#7

اخى msayed2004

أولا شكرا لك

ثانيا :

اقتباس
عمل Back Up.

تستطيع عمل Backup و Restore لأى Key موجود بالريجسترى ؟ إما إذا كنت تقصد غير ذلك فأرجو التوضيح.

اقتباس
مسح قيم و مسارات.

تستطيع بالفعل حذف مسار بالكامل او احتى حذف قيمه او جميع القيم الموجوده داخل key معين

اقتباس
التأكد من وجود صلاحيات Admin (مجرد تسهيل على المبرمج اللى هيستخدم الأداة).

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

اقتباس
و ظائف متقدمة كـ : تسجيل نوع ملف للفتح ببرنامج معين.

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

اما بالنسبة للإضافات فستكون كالتالى بإذن الله:

1. متابعة عملية فتح و غلق او عمليات اخرى تتم على Key معين داخل الريجسترى و توفير معلومات عن البرنامج الذى يوم بها مع امكانية منعها.

2. امكانية البحث عن قيمة معينه او اسم key - بإختصار بحث متقدم.

3. إمكانية معرفة القيمة الخاصة بالنوع REG_EXPAND_SZ و الذى هو فى الواقع احد متغيرات النظام، وايضا امكانية تصنيعهم.

4. تسريع المكتبة - حيث فى حال وجود اكثر من 100000 - مئة ألف - key داخل HKEY_CLASSES_ROOT ستلاحظ بطء فى عمل المكتبة.

اما بالنسبة للعمليات على الريجسترى فأنا اصنع مكتبة اخرى (و هى تستخدم مكتبة الريجسترى) و هى تقوم بالاتى:

1. إماكنية اضافة امتداد جديد.

2. امكانية معرفة بيانات عن كل الإمتدادت الموجوده مثل الصورة المسجله لكل إمتداد و وصف الإمتداد و البرامج المسجله لفتح ذلك الإمتداد.

3. إمكانية معرفى البرامج المثبته على الجهاز مع إمكانية إستدعاء أمر الـ uninstall او modify إن وجد و أيضا بيانات عن البرنامج المثبت مثل تاريخ الثبيت عدد مرات الإستخدام وهكذا، مع امكانية اضافة برنامج إليهم.

4. امكانية إدارة الويندوز كـ Admin مثل منع فتح فولدر او درايف معين او حذف control panel و غيرهم الكثيير.

5. امكانية معرفة الـ Service المثبته بالجهاز مع إمكانية إيقاف ، تشغيل ، تعليق أو معرفة الحالة فقط، ايضا يوجد لك إمكانية تثبيت service جديده.

ايضا اقوم بعمل مكتبة تتعامل مع WMI و حتى الان تحتوى على 26 Class يمثلوا 26 Class بالـ WMI.

بإذن الله عندما انتهى منهم سأقوم بوضعهم داخل هذا المنتدى.

ملحوظه : لقد حذفت الصورة الموجوده بالتوقيع :blush:

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Game Expert في 11 يناير 2008 في 03:15

مدونتي: C++ Tips and Tricks

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

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