معرفی رجیستری ویندوز (بخش دوم)

آچار به‌دست بگیرید

در شماره گذشته، ساختار کلی رجیستری در ویندوز را بررسی کردیم. در این شماره قصد داریم نحوه کار کردن با رجیستری، ذخیره و بازیابی داده‌ها در آن و به‌کارگیری آن در زبان‌های مختلف برنامه‌نویسی را معرفی کنیم.
کد خبر: ۲۶۳۱۳۷

فایل‌های  .REG

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

در ویندوزهای9x و NT آن‌ها شامل متن REGEDIT4 در ابتدای خود و شیوه نگارشی بر پایه ANSI  بودند.

فایل‌های قدیمی .REG در ویندوزهای 9x یا ویندوز 2000 و سیستم‌های عامل‌ مبنی بر NT سازگاری دارند.

داده‌های ذخیره شده در فایل‌های REG به‌این صورت ذخیره می‌شوند:

[<Hive Name>\<Key Name>\<Subkey Name>]

"Value Name"=<Value type>:<Value data>

 برای نمونه مقادیرValueA ، ValueB، ValueC،ValueD را به کلید HKLM\Software\Microsoft می‌خواهیم اضافه کنیم:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]

"Value A"="<String value data>"

"Value B"=hex:<Binary data>

"Value C"=dword:<DWORD value integer>

"Value D"=hex(7):<Multi-string value data>

"Value E"=hex(2):<Expandable string value data>

 داده‌های ذخیره شده در فایلهای REG قابلیت اضافه و ترکیب شدن با مقادیر قبلی را دارند. مثلا اگر مقدار داده در رجیستری برابر X باشند و همان مقدار در فایل REG برابر Y باشد بعد از اجرا شدن فایل REG مقدار Y را به‌خود می‌گیرد.

برای پاک‌کردن مقداری در رجیستری،  باید به‌جای مقدار آن علامت ( – ) قرار دهیم، مانند زیر:

“ValueA = -“

 اجرا کردن فایل‌های  REG

 این فایل‌های به‌صورت پیش‌فرض با ویرایشگر رجیستری regedit باز می‌شوند، و برای اعمال تغییرات کافی است آنها را مانند یک فایل اجرایی دیگر اجرا کرد. (یعنی بر روی آنها دو بار کلیک کنید.)

 ویرایش از طریق خط فرمان

رجیستری می‌‌تواند از طریق راه‌های گوناگونی در خط فرمان ویرایش شود. راه نخست استفاده از برنامه reg است. این برنامه در ویندوز اکس‌پی و ویستا موجود است و برای نسخه‌های دیگر ویندوز می‌توان از اینترنت بارگذاری کرد، در ضمن این فایل در بسته Resource Kit و یا سی‌دی‌های ویندوز نیز موجود است:

reg.exe Operation [Parameter List]

Operation [QUERY|ADD|DELETE|COPY

|SAVE|LOAD|UNLOAD|RESTORE|

COMPARE|EXPORT|IMPORT]

راه دوم اینکه فایل .REG را از طریق خط فرمان با برنامه regedit اجرا نمود. به این صورت:

Regedit c:\Click.reg

 اگر بخواهیم تغییرات سریع و بدون اطلاع کاربر انجام شود، می‌توان از سویچ /s استفاده کرد. با اجرای دستور زیر، کاربر از قرار گرفتن محتویات Click.reg داخل رجیستری خود مطلع نخواهد شد:

Regedit /s c:\Click.reg

برنامه‌نویسی و رجیستری

برنامه‌نویس‌ها می‌توانند با استفاده از API (رابط برنامه نویسی کاربردی) ارائه شده در ویندوز که در کتابخانه advapi.dll موجود است، به ویرایش رجیستری بپردازند. در زیر چند نمونه از این توابع آورده شده است، عنوان هر تابع، به‌روشنی نمایانگر عملکرد آن است:

RegCloseKey ، برای بستن یک کلید.RegOpenKey ، برای باز کردن کلید. RegConnectRegistry ، برای اتصال به رجیستری. RegCreateKey ، برای ایجاد یک کلید و...

اکثر زبان‌های برنامه‌نویسی کلاس‌ها و توابعی برای کار به‌صورت درونی در خود زبان برای تغییرات رجیستری ارائه می‌دهند. به‌طور مثال این کلاس‌ها در فضای نامی Microsoft.Win32 در C# موجودند. در دلفی در TRegistry  موجود هستند. در C/C++ در کتابخانه winreg.h معرفی شده‌اند و داخل windows.h قرار دارند.

زبان‌های برنامه‌نویسی COM-Enable مانند ویژوال بیسیک می‌توانند از WSH WScript.Shell  استفاده نمایند. راه دیگر این استفاده از برنامه کمکی reg.exe و یا نوشتن فایلهای reg و اجرای آنها به‌وسیله regedit  است ولی استفاده از این دو راه به هیچ وجه توصیه نمی‌شود.

روش‌های پیشتیبان‌گیری از رجیستری

در ویندوز راه‌های متفاوتی برای پشتیبان‌گیری از رجیستری وجود دارد. ویندوزهای مبتنی بر NT به‌صورت خودکار فایل‌های پیشتیبانی را با پسوند bak در پوشه %windir%\system32\config ذخیره می‌کنند و برای بازیابی آنها از Recovery Console استفاده می‌شود. یکی دیگر از روش‌ها، استفاده از System Restore  است که با ساختن یک نقطه بازگشت می‌توان از رجیستری پشتیبانی گرفت. شیوه کار با سیستم‌ریستور قبلا در شماره 239 توضیع داده شده است.

NTBackup: این برنامه می‌تواند از رجیستری به عنوان بخشی از وضعیت سیستم پیشتیبانی بگیرد و آن را بازیابی نماید.

رجیستری در سیستم‌های عامل دیگر

همان‌طور که در بخش اول توضیح داده شد، رجیستری ویندوز یک مدل از پایگاه داده دودویی است، در برخی از سیستم عامل‌ها از فایل‌های مبتنی بر Plain-Text برای ذخیره تظیمات مربوط به برنامه‌های کمکی و برنامه‌های کاربردی استفاده می‌شود، در زیر چند نمونه از این سیستم‌های عامل را مورد بررسی قرار می‌دهیم:

در سیستم‌های عامل‌ شبه یونیکس که از ساختار سیستم فایل استاندارد پیروی می‌کنند، برنامه‌های اجرا شده در سیستم‌عامل Apple Mac OsX تنظیمات خود را در فایل‌هایی به نام PropertyList که در پوشه کتابخانه‌ایی هر کاربر ذخیره می‌شود.

امیربهاالدین سبط‌الشیخ

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها