رجیستری ویندوز و دلفی

©کليه حقوق منحصرا متعلق به شرکت نرم افزاري الگوپارس مي باشد.

 نقل مطالب باذکر منبع آزاد مي باشد.

7/7/1385

 

عنوان اصلی : An Introduction to working with Windows Registry

نویسنده :  Zarko Gajic

منبع : delphi.about.com

ترجمه و تلخیص : ابوذر نوذری

 

مقدمه :

 

رجیستری به طور ساده یک بانک اطلاعاتی است که یک برنامه می تواند یرای ذخیره و بازیابی اطلاعات مربوط به تنظیمات خود از آن استفاده کند (از جمله این اطلاعات می توان به مواردی همانند آخرین اندازه و موقعیت یک پنجره در صفحه مانیتور، انتخاب های کاربران و اطلاعات مربوط به آنها و یا هر اطلاعات دیگری در مورد تنظیمات برنامه ها اشاره نمود). علاوه بر این رجیستری حاوی اطلاعاتی در مورد سیستم عامل ویندوز (ویندوزهای 32 بیتی) و تنظیماتی که شما روی آن انجام داده اید می باشد.

رجیستری در قالب یک فایل باینری یا دودویی ذخیره می شود. برای پیدا کردن و اجرای رجیستری در ویندوز باید فایل regedit.exe که در دایرکتوری Windows قرار گرفته است را اجرا نمایید [یک راه ساده تر برای اجرای رجیستری استفاده از گزینه Run در منوی Start دسک تاپ ویندوز است. پس از کلیک بر روی Run یک کادر کوچک باز می شود، در جایی که مکان نما در حال چشمک زدن است regedit.exe را تایپ کرده و Enter نمایید تا رجیستری ویندوز اجرا شود- م]. مشاهده خواهید کرد که اطلاعات در رجیستری به همان شکلی که در پنجره Explorer ویندوز قرار گرفته، در اینجا نیز قرار گرفته و سازماندهی شده اند. ما می توانیم از regedit برای مشاهده اطلاعات رجیستری، تغییر و یا افزودن برخی اطلاعات به آن استفاده نماییم. واضح است که تغییر در رجیستری بدون آگاهی منجر به ایجاد مشکلاتی اساسی در سطح سیستم عامل و مدیریت کامپیوتر می گردد.

  top

INI در مقابل رجیستری :

 

احتمالا استفاده از فایل های INI در زمان هایی که ویندوزهای 16 بیتی رواج داشته اند، به عنوان راه حلی برای ذخیره سازی اطلاعات برنامه ها و سایر تنظیمات مربوط به کاربران خیلی معروف بوده است.

مهمترین بخش فایل های INI این بوده است که آنها تنها یک فایل متنی هستند که کاربران به راحتی می توانند آنرا ویرایش نمایند (تغییر دهند و یا حتی حذف نمایند).

در ویندوزهای 32 بیتی، مایکروسافت استفاده از رجیستری را برای ذخیره سازی انواع اطلاعاتی که کاربران به طور معمول در فایل های INI قرار می دادند پیشنهاد داد.

دلفی به طور کامل از تغییر مداخل (یا Entry ها) در سیستم رجیستری ویندوز پشتیبانی به عمل می آورد. این کار با استفاده از کلاس TRegIniFile (همانند رابط پایه ای با عنوان کلاس TIniFile برای کاربران فایل های INI در دلفی نسخه 1) و کلاس TRegistry (یک پوشش سطح پایین برای رجیستری ویندوز و عملیاتی که روی رجیستری انجام می شود) صورت می گیرد.

top  

نوشتن در رجیستری :

 

همانطور که در قسمت های قبلی اشاره شد عملیات اساسی در رجیستری به وسیله کدنویسی، عبارت از خواندن اطلاعات از رجیستری و نوشتن اطلاعات در رجیستری است.

قطعه کدی که در زیر مشاهده می گردد تصویر دسک تاپ ویندوز را تغییر داده و Screensaver را با استفاده از کلاس TRegistry غیرفعال می نماید. قیل از اینکه بتوانیم از کلاس TRegistry استفاده کنیم باید یونیت مربوط به آنرا که Registry نام دارد، وارد یا اصطلاحا uses نماییم. برای این منظور جلوی کلمه uses در ابتدای برنامه نام یونیت Registry را می نویسیم.

 

uses registry;

procedure TForm1.FormCreate(Sender: TObject) ;

var

   reg:TRegistry;

begin

   reg:=TRegistry.Create;

   with reg do begin

    try

      if OpenKey('\Control Panel\desktop', False) then begin

      //change wallpaper and tile it

      reg.WriteString ('Wallpaper','c:\windows\CIRCLES.bmp') ;

      reg.WriteString ('TileWallpaper','1') ;

      //disable screen saver//('0'=disable, '1'=enable)

      reg.WriteString('ScreenSaveActive','0') ;

      //update changes immediately

      SystemParametersInfo (SPI_SETDESKWALLPAPER,0, nil,SPIF_SENDWININICHANGE) ;

      SystemParametersInfo (SPI_SETSCREENSAVEACTIVE,0, nil,SPIF_SENDWININICHANGE) ;

     end

    finally

      reg.Free;

    end;

   end;

end;

 

در این تکه کد دو خطی که با SystemParameterInfo شروع شده اند، ویندوز را مجبور به update کردن عکس پس زمینه و همچنین تغییر سریع اطلاعات Screensaver می نمایند. وقتی شما برنامه خود [که حاوی این تکه کد است- م] را اجرا نمایید، مشاهده خواهید کرد که عکس پس زمینه ویندوز به تصویر circles.bmp (در صورت وجود در پوشه Windows) تغییر یافته و Screensaver غیر فعال شده است.

برای کسب اطلاعات بیشتر و دیدن برنامه های نمونه اضافی در مورد رجیستری می توانید به مقالات زیر در سایت delphi.about.com مراجعه نمایید :

  top
 
 

کلیه حقوق این سایت متعلق به شرکت نرم افزاری الگوپارس می باشد