شرح لاخ زكيري عبد العالي
التحكم في الرجيستري بالدلفي
1*- ماهي الرجيستري
2*-الهيكل العام للرجيستري
3*-ما يمكن ان تفعله بالرجيستري
4*-التحكم في الرجيستري بالدلفي
أ-الدوال والاجراءات الخاصة بالمفاتيح
ب-الدوال والاجراءات الخاصة بالمعطية
ج-الدوال والاجراءات الخاصة بالقيم
5*-الخلاصة
1- ماهي الرجيستري :هي قاعدة بيانات متكونة من الملفين SYSTEM.DAT و USER.DAT اذن هي عكس ملفات INI والتي تعتبر ملفات نصية بل هي في شكل ملف binaire الدي يكتب بواسطة ادوات خاصة .
الهيكل العام للرجيستري :كما ذكرت سابق هي تتكون من ملفين :
SYSTEM.DAT -* : هو ملف اساسي نجد فيه كل المعلومات الخاصة بالبرامج و الاجهزة المثبتة في الجهاز وايضا المعلومات الخاصة بالاجهزة وهدا مما يجعل حذف احد البيانات يؤدي الى عدم تشغيل الجهاز مثلا . ونجد هذا الملف في مجلد الدي تثبت فيه الwindows .
*- USER.DAT : هو ملف له علاقة مع المستعمل كالستعمالات سطح المكتب و التطبيقات ...... الخ . يعرض جزء من ملف win.ini حيث اي تغيير في هذا الملف يتم التغيير في الرجيستري والعكس صحيح .
نستطيع التعرف على الرجيستري اكثر حين التمعن في الشكل الدي يعرضه الملف التنفيدي regedit.exe
ادن بعد تنفيذ هذا الاخير نرى في الجهة اليسري شجرة المفاتيح اما الجهة اليمنى تعرض لنا مجموعة القيم المسندة للمفتاح المحدد كما فيها ايقونات تحدد نوع القيمة ان كانت نصية او ثناءية .
المفاتيح الرئيسة HKEY8CLASSES_ROOT
هو المسؤل عن الاختصارات المجودة في الونداوز lnk واشتراك associat الملفات .
HKEY_CURRENT_USER
هو المسؤل عن تعريف محركات قواعد البيانات المثبتة في الجهاز وكذا البرامج الاخري واي التطبيقات التي تشغل مباشرة عن انطلاق الجهاز ....وغيرها من المعلومات .
HKEY_LOCAL_MACHINE
ويحتوي على المعلومات الخاصة بالاجهزة والبرامج المثبتة في الجهاز.
HKEY_USERS
له علاقة بالاجهزة المثبتة وخاصة الشبكة والطرفيات.
HKEY_CURRENT_CONFIG
ويحتوي على المعلومات الخاصة بالطرفيات pug&play.
ما يمكن ان تفعله بالرجيستري :
هناك امور كثيرة وكثيرة جدا ومن بينها :
تغيير الاوان الموضوعة في الشجرة للمستكشف الونداوز
تغيير لون الازرار لكل النوافد
تغيير الايقونات التي لا يمكن تغييرها عادة
تشخيص قائمة ابدا
تغيير صورة سطح المكتب
تستطيع ايضا الدخول الى الشبكة مباشرات دون تكرار عملية كتابة الاسم وكلمة المرور
حذف الاسهم الموجودة في ملفات الاختصار .
حذف كلمة المرور المستعملة لشاشة التوقف
منع الاتوران ? اقراص الاوديو.
ضع البرنامج في قائمة التشغيل
-تغيير قائمة بدا التشغيل الى مجلد اخر
-تشغيل الزر الاوسط للفارة
-تحويل ايقوناة الصور الى الصورة داتها لكن بحج ايقونة.
وضع تطبيقك الشخصي في البوبيوب الخاص بزر ابدا
تغيير الاشتراك الخاص بالملفات ? برامج الخاصة بفتحها
-تغيير الحرف الخاص بقارء الاقراص المضغوطة
زيادة سرعة المودم
زيادة في سرعة عرض قائمة ابدا.
حاولة قدر المستطاع تلخيص الاعمال التي نستطيع القيام بها بواسطة الرجيسترس سواء يدويا او اليا بالبرمجة ولكي نفعل ذللك تابع معي :
التحكم في الرجيستري بالدلفي
التعليمات المستعملة في الرجيسري :
لكي نستطيع الوصول الى الرجيستري لابد من التصريح بالوحدة Registry في قسم uses
التعليمتات الخاصة بالشيئ ذاته :
اقتباسلانشاء شيئ في الذاكرة نستعمل امر المعتاد استعماله وهو (CREATE) بالطريقةTRegistry.Create;
ولنحطم هدا الشيئ كالعادة بالتعليمة ((Destroy بالطريقة
TRegistry.Destroy
اما اهم الاحداث :
AfterConstruction هو حدث ناتج مباشرة بعد انشاء الشيئ //
BeforeDestruction هو حدث ناتج مباشرة قبل تحطيمه //
Free // تحرير الشيئ من الذاكرة
اوامر معروفة ومكررة
ClassInfo
ClassName
ClassNameIs
ClassParent
ClassType
CleanupInstance
DefaultHandler
Dispatch
FieldAddress
FreeInstance
GetInterface
GetInterfaceEntry
GetInterfaceTable
InheritsFrom
InitInstance
InstanceSize
MethodAddress
MethodName
NewInstance
SafeCallException
التعليمات الخاصة بالمفاتيح :
اقتباس1- لانشاء مفتاح جديد في الرجيستري نستعمل الدالة التالية التي تعطي قيمة منطقية t. ان تم الانشاء f. ان لم يتم .function CreateKey(اسم المفتاح'' ): Boolean;2- لحذف مفتاح نستعمل الدالة التي تعطي قيمة منطقية T ان تم الحدف اي ان وجد المفتاح
function DeleteKey(const Key: String ): Boolean;3- لفتح مفتاح موجود سابقا الدلة التي تعطي قيمة منطقية T ان وجد هدا المفتاح .
function OpenKey( اسم المفتاح: String; CanCreate: Boolean ): Boolean;4- لغلق المفتاح المحدد نستعمل التعليمة
Reg.CloseKey;
5- لحذف مفتاح من الرجيستري نستعمل الدلة
function DeleteKey(اسم المفتاح' '): Boolean;6- للبحث عن مفتاح فرعي في مفتح رئيسي نستعمل الدالة التالية التي تعطي قيمة منطقية t. ان تم ايجاده .
function KeyExists(اسم المفتاح' ' ): Boolean ;
7-لانشاء مفتاح او اكثر مع جميع القيم بداخليه في مفتاح رئيسي حيث يتم شحن القيم من ملف
function LoadKey( const Key, FileName: String ): Boolean ;
8- لنقل مفتاح اي تغير مكانه (قص) نستعمل الاجراء التالي حيث نستطيع تغيير اسم المفتاح في ان واحد:
procedure MoveKey( const OldName, NewName: String;Delete:Boolean);9- لفتح مفتاح وكان المفتاح موجودا ترجع الدالة openkey القيمة T
function OpenKey( const Key: String; CanCreate: Boolean ): Boolean;ونستطيع ايضا فتح مفتاح للقرائة فقط بالدالة
function OpenKeyReadOnly( const Key: String ): Boolean;
ملاحظة
' اسم المفتاح' تمثل قيمة من نوع سلسلة حروف
وقبل اي عملية لا بد من تحديد مسار المفتاح
في انتظار المتابعة (f)ــ||>>>