עבודה עם הרישום של Windows מיישומי דלפי

הרישום הוא פשוט בסיס נתונים בו יישום יכול להשתמש בכדי לאחסן ולהשיג תצורה מידע (גודל ומיקום החלון האחרון, אפשרויות משתמש ומידע או כל תצורה אחרת נתונים). הרישום מכיל גם מידע על Windows (95/98 / NT) ועל תצורת Windows שלך.

"מסד הנתונים" של הרישום מאוחסן כקובץ בינארי. כדי למצוא את זה, הפעל את regedit.exe (כלי עורך הרישום של Windows) בספריית Windows שלך. תראה שמידע ברישום מסודר באופן דומה לזה סייר Windows. אנו יכולים להשתמש regedit.exe כדי להציג מידע על הרישום, לשנות אותו או להוסיף לו מידע כלשהו. ברור מאליו כי שינויים במסד הנתונים של הרישום עלולים להוביל לקריסת מערכת (כמובן שאינך יודע מה אתה עושה).

ככל הנראה ידוע היטב כי בימי קבצי INI של Windows 3.xx היו דרך פופולרית לאחסון מידע על יישומים והגדרות אחרות שניתן להגדיר המשתמש. ההיבט המפחיד ביותר של קבצי INI הוא שהם רק קבצי טקסט שהמשתמש יכול לערוך אותם בקלות (לשנות או אפילו למחוק אותם). ב- Windows עם 32 סיביות מיקרוסופט ממליצה להשתמש ברישום כדי לאחסן את סוג המידע שבדרך כלל היית מציב בקובצי INI (סביר להניח שמשתנה ישנה את ערכי הרישום).

דלפי מספק תמיכה מלאה לשינוי ערכים ברישום המערכת של Windows: דרך מחלקת TRegIniFile (ממשק בסיסי זהה לזה של Windows

instagram viewer
TIniFile כיתה למשתמשים בקבצי INI עם Delphi 1.0) ומחלקת TRegistry (עטיפה ברמה נמוכה עבור הרישום של Windows ופונקציות הפועלות ברישום).

כאמור במאמר זה, פעולות רישום בסיסיות (באמצעות מניפולציה של קוד) קוראות מידע מהרישום וכותבות מידע למסד הנתונים.

פיסת הקוד הבאה תשנה את טפט חלונות ותשבית את שומר המסך באמצעות כיתת TRegistry. לפני שנוכל להשתמש ב- TRegistry עלינו להוסיף את יחידת הרישום לסעיף השימושים בראש קוד המקור.

~~~~~~~~~~~~~~~~~~~~~~~~~
משתמש ברישום;
נוהל TForm1.FormCreate (שולח: TObject);
var
reg: TRegistry;
התחל
reg: = ממשלת התואר. צור;
עם רג לעשות
נסה
אם OpenKey ('\ לוח בקרה \ שולחן עבודה', False) אז התחל
// לשנות טפטים ולמרצף אותו
reg. WritString ('טפט', 'c: \ windows \ CIRCLES.bmp');
reg. WritString ('TileWallpaper', '1');
// השבת שומר מסך // ('0' = השבת, '1' = הפעל)
reg. WritString ('ScreenSaveActive', '0');
// עדכן שינויים מייד
SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
מערכת פרמטרים אינפו (SPI_SETSCREENSAVEACTIVE, 0, nil, SPIF_SENDWININICHANGE);
סוף
סוף סוף
reg. חינם;
סוף;
סוף;
סוף;
~~~~~~~~~~~~~~~~~~~~~~~~~

שתי שורות הקוד האלה שמתחילות ב- SystemParametersInfo... לאלץ את Windows לעדכן את המידע על טפט ושומר המסך באופן מיידי. כאשר אתה מפעיל את היישום שלך, תראה את טפט Windows מפת סיביות שנה לתמונת Circles.bmp - כלומר אם יש לך תמונה של Circ.bmp בספריית Windows שלך. (הערה: שומר המסך שלך מושבת כעת.)

instagram story viewer