العمل مع تسجيل ويندوز من تطبيقات دلفي

click fraud protection

السجل عبارة عن قاعدة بيانات يمكن للتطبيق استخدامها لتخزين التكوين واسترداده المعلومات (حجم النافذة الأخيرة وموقعها وخيارات المستخدم والمعلومات أو أي تكوين آخر البيانات). يحتوي التسجيل أيضًا على معلومات حول Windows (95/98 / NT) وعن تكوين Windows الخاص بك.

يتم تخزين "قاعدة بيانات" التسجيل كملف ثنائي. للعثور عليه ، قم بتشغيل regedit.exe (أداة محرر تسجيل Windows) في دليل Windows الخاص بك. سترى أن المعلومات الموجودة في التسجيل منظمة بطريقة مشابهة لـ مستكشف Windows. يمكننا استخدام regedit.exe لعرض معلومات التسجيل أو تغييرها أو إضافة بعض المعلومات إليها. من الواضح أن تعديلات قاعدة بيانات التسجيل يمكن أن تؤدي إلى تعطل النظام (بالطبع إذا كنت لا تعرف ما تفعله).

من المعروف جيدًا أنه في أيام Windows 3.xx كانت ملفات INI طريقة شائعة لتخزين معلومات التطبيق والإعدادات الأخرى القابلة للتكوين من قبل المستخدم. الجانب الأكثر رعبا في ملفات INI هو أنها مجرد ملفات نصية يمكن للمستخدم تحريرها بسهولة (تغييرها أو حتى حذفها). في نظام التشغيل Windows 32 بت ، توصي Microsoft باستخدام "التسجيل" لتخزين نوع المعلومات التي تضعها عادةً في ملفات INI (يقل احتمال تغيير المستخدمين لإدخالات التسجيل).

instagram viewer

دلفي يوفر الدعم الكامل لتغيير الإدخالات في سجل نظام Windows: عبر فئة TRegIniFile (نفس الواجهة الأساسية مثل TIniFile فئة لمستخدمي ملفات INI مع دلفي 1.0) وفئة TRegistry (غلاف منخفض المستوى لسجل Windows والوظائف التي تعمل على التسجيل).

كما ذكر من قبل في هذه المقالة ، عمليات التسجيل الأساسية (باستخدام التلاعب بالرمز) هي قراءة المعلومات من التسجيل وكتابة المعلومات إلى قاعدة البيانات.

سيؤدي الجزء التالي من التعليمات البرمجية إلى تغيير خلفية Windows وتعطيل شاشة التوقف باستخدام فئة TRegistry. قبل أن نتمكن من استخدام TRegistry ، يتعين علينا إضافة وحدة التسجيل إلى عبارة الاستخدامات الموجودة أعلى شفرة المصدر.

~~~~~~~~~~~~~~~~~~~~~~~~~
يستخدم التسجيل ؛
الإجراء TForm1.FormCreate (المرسل: TObject) ؛
فار
reg: TRegistry ؛
ابدأ
reg: = TRegistry. خلق؛
مع ريج تبدأ
محاولة
إذا كان OpenKey ('\ Control Panel \ desktop'، False) ، فابدأ
// تغيير الخلفية وتجانبها
ريج. WriteString ('Wallpaper'، 'c: \ windows \ CIRCLES.bmp') ؛
ريج. WriteString ('TileWallpaper'، '1')؛
// تعطيل شاشة التوقف // ('0' = تعطيل ، '1' = تمكين)
ريج. WriteString ('ScreenSaveActive'، '0')؛
// تحديث التغييرات على الفور
SystemParametersInfo (SPI_SETDESKWALLPAPER، 0، nil، SPIF_SENDWININICHANGE)؛
SystemParametersInfo (SPI_SETSCREENSAVEACTIVE، 0، nil، SPIF_SENDWININICHANGE)؛
النهاية
أخيرا
ريج. مجانا؛
النهاية؛
النهاية؛
النهاية؛
~~~~~~~~~~~~~~~~~~~~~~~~~

هذين السطرين من التعليمات البرمجية التي تبدأ بـ SystemParametersInfo... إجبار Windows على تحديث معلومات خلفية الشاشة وحافظة الشاشة على الفور. عند تشغيل التطبيق الخاص بك ، سترى خلفية Windows صورة نقطية التغيير إلى صورة Circles.bmp - أي إذا كان لديك صورة circles.bmp في دليل Windows الخاص بك. (ملاحظة: شاشة التوقف معطلة الآن.)

instagram story viewer