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

كيف أبحث عن قيمة معينة في الرجستري ومن ثم حذفها

بدأه M.555 في 23 أغسطس 2008 · 7 رد · 808 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني أرجوا مساعدتي في كود يقوم بالبحث عن مفتاح في المجلد

HKEY_LOCAL_MACHINE

في الرجستري ومن ثم حذفة

بارك الله فيكم وثبتكم على دينه

#2

"البحث عن مفتاح" بمعنى تعرف الاسم لكن لا تعرف المسار وتريد تحديد مساره ضمن HKEY_LOCAL_MACHINE ؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

نعم أخي Xacker

هذا ماأقصدة فأنا أعرف المفتاح ولكن لاأعرف مسارة لأنه يتغير في كل جهاز

بارك الله فيك أخي وثبتك على دينة

#4

ممكن، ليس سهل، ليس صعب.

لكن يحتاج إلى مهارة وطول بال لأنه ضخم.

انظر ما ستحتاجه،

ستقوم باستخدام الدالة RegOpenKeyEx لكي تقوم بفتح الجذور الرئيسية للمفتاح HKEY_LOCAL_MACHINE

لكل مفتاح عليك جلب جميع المفاتيح المتواجده تحته ويتم هذا باستخدام RegEnumKeyEx بحيث تبدأ قيمة dwIndex بـ 0 وتزيدها بمقدار 1 حتى تحصل على المفتاح الفرعي التالي.

لكي تحدد مقدار المفاتيح الموجودة تحت مفتاح ما، استخدم RegQueryInfoKey هذه الدالة ستعيد لك قيمة الـ index لآخر مفتاح بالتالي تحدد منها قيمة العداد الذي ستستخدمه في الحلقة IF THEN

أي تستخدم هذه لتحدد i مثلا ثم تدخل في الحلقة وتبدأ باستخدام RegEnumKeyEx

انتبه إلى أن المتغير i يجب أن يكون من النوع LONG حتماً <<< الخطأ هنا سيعيد لك نفس القيمة مراراً وتكراراً. اسأل مجرب

ستحتاج أثناء عملك إلى تحديد نوع المفاتيح كي تستطيع أن تعلم هل وصلت إلى نهاية المفتاح وعليك البحث عن القيم الآن أم لا. هذا طبعا إن كان ما تبحث عنه قيمة وليس مفتاح. في حال كان مفتاح فلن تحتاج إلى هذه الخطوة وسيكون عملك أسهل.

بعد أن تجلب المفاتيح تقوم بمقارنة الأسماء طبعا لكل اسم تقوم بجلبه لتقوم بما تريد وتنهي الحلقة.

إضافة:

ربما تحتاج إلى أن يكون البحث recursive.

راجع هذا الموضوع. فالأمر مشابه في الحالتين:

/index.php?showtopic=165890

تم تعديل هذه المشاركة بواسطة Xacker في 30 أغسطس 2008 في 23:21

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

الله يزيدك من علمه أخي Xacker وينفع بك المسلمين

ليتك أخي تسهلها لي وتضع كود كمثال أو تعمل ملف DLL بالأسمبلي أديله الأمر من الفيجوال بيسك

بدون تحديد المجلد سواء كان HKEY_LOCAL_MACHINE أو HKEY_CURRENT_USER

أنا أحدد له البحث في أي منها وأيضاً أضيف له المفتاح وهو بعد ذلك يحدد لي المسار

أثابك الله ووفقك في دنياك وآخرتك

#6

أنا أعطيتك المفتاح وعليك بالمحاولة.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

ياأخي M.555 أبدأ بالمشروع وإن شاء الله نساعدك ، لأنه إذا ماأشتغلت شوي فلن تتعلم ،وأنا لا أذكر مثال جاهز لطلبك لتستطيع فهم طريقته

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

جرب الإستفادة من هذا الملف ففيه بعض الدوال الهامة التي ذكرها الأخ Xacker

registry.zip

#8

أثابكم الله أخواني على المساعدة وأعانني الله على فهمه

سأحاول والله يوفقني

تقبل الله صيامكم وقيامكم وصالح أعمالكم

واعاده الله علينا وعليكم وعلى الامه الاسلاميه بالخير والبركات

تم تعديل هذه المشاركة بواسطة M.555 في 4 سبتمبر 2008 في 06:17

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