در این نوشته میخواهیم یکی از اصلیترین المانهای ویندوز به نام رجیستری را مورد بررسی قرار دهیم.
اینکه رجیستری چیست، چه فایدهای دارد و چطور میتوان به آن دسترسی داشت.
رجیستری ویندوز چیست؟
به زبان خیلی ساده…
رجیستری یک سری اطلاعات هست که به سیستمعامل (ویندوز) کمک میکند تا کامپیوتر ما را مدیریت کند.
مثلا فرض کنید که مدیر یک شرکت بسیار بزرگ همانند گوگل هستید.
شما به عنوان مدیر میخواهید در هر لحظه از وضعیت همه بخشها، پروژهها، افراد و … جزییات شرکت خود با خبر شوید.
برای همین، یک نفر برای شما یک سامانه طراحی میکند که این سامانه بصورت لحظهای وضعیت همه موارد بالا را ثبت میکند.
هر وقت شما نیاز داشته باشید که ببینید فلان پروژه در چه وضعیتی قرار دارد و یا فلان کارمند امروز به سرکار آمده است یا خیر، کافیست وارد سامانه شوید و در کمترین زمان اطلاعات مورد نیاز خود را بردارید.
اما به زبان فنیتر…
رجیستری شامل اطلاعاتی است که ویندوز به هنگام انجام عملیات مختلف بصورت پیوسته به آنها مراجعه میکند.
در اصل رجیستریها کلیدهایی هستند که درون هر کدام مقداری وجود دارد.
میتوان اینطور تصور کرد که هر کلید رجیستری (Key) یک خانه است و درون آن خانه یک مقدار (Value) وجود دارد.
طبقه بندی رجیستریها
یکی از نکات مهم در رابطه با رجیستری نوع طبقهبندی آن است.
رجیستریها در یک پایگاه داده سلسله مراتبی ذخیره شدهاند.
یعنی در ابتدا که رجیستریها را میبینید، با یک سری سرگروه مواجه میشوید.
هر کدام از سرگروهها زیرشاخههایی دارند و این ساختار درختی به همین ترتیب ادامه پیدا میکند.
چه اطلاعاتی درون رجیستری ذخیره میشود؟
درون رجیستریها اطلاعات بسیار زیادی در مورد نرمافزارهای موجود برروی سیستم، اجزای سختافزاری، اطلاعات کاربران سیستم، تنظیمات سیستمعامل و … وجود دارد.
برای مثال بسیاری از نرمافزارهایی که برروی ویندوز خود نصب میکنید، یک یا چند کلید جدید در رجیستری برای خود ایجاد میکنند.
درون این کلیدها تنظیمات خود را ذخیره میکند.
برای مثال، برنامه جدیدی که نصب کردهاید برای عملیات آپدیت خودکار، یک کلید رجیستری ایجاد میکند و مقدار آن را یک میگزارد.
هر گاه برنامه بخواهد آپدیت را انجام دهد، مقدار کلید رجیستری یاد شده را چک میکند.
اگر مقدار آن یک بود، آپدیت را انجام میدهد.
اما اگر مقدار آن صفر بود، آپدیت را انجام نمیدهد.
حال اگر کاربر تمایلی به انجام آپدیت نداشته باشد و از منوی برنامه آپدیت را غیرفعال کند، برنامه مقدار کلید رجیستری یاد شده را به صفر تغییر میدهد.
از این رو، دفعه بعدی که برنامه میخواهد آپدیت انجام دهد، در ابتدا مقدار کلید را میخواند و با عدد صفر مواجه میشود!
بخاطر همین از آپدیت صرف نظر میکند.
نمونهای که مثال زدیم، در رابطه با خود ویندوز نیز صدق میکند.
خود ویندوز برای آپدیت، یک کلید رجیستری را میخواند و با توجه به مقدار آن تصمیمگیری میکند.
البته الزامی وجود ندارد که همه برنامهها برای ذخیره تنظیمات خود از رجیستری استفاده کنند.
برخی از برنامهها از یک فایل XML برای ذخیرهسازی تنظیمات خود استفاده میکنند!
چگونه رجیستریهای ویندوز را ببینیم؟
سادهترین و مرسومترین روش برای مشاهده کلیدهای رجیستری و مقادیر آنها استفاده از Regedit میباشد.
برای استفاده از Regedit، ابتدا کلیدهای ترکیبی Windows+R را بگیرید.
سپس همانند شکل زیر تایپ کنید Regedit و دکمه Enter را بزنید:
صفحهای بصورت زیر برای شما باز خواهد شد:
در اینجا 5 شاخه اصلی را مشاهده میکنید:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
HKEY_CLASSES_ROOT
ویندوز از این بخش برای عملیات مربوط به تعریف typeها استفاده میکند. از این قسمت به صورت مخفف نیز HKCR یاد میشود.
HKEY_CURRENT_USER
تنظیمات کاربری مربوط به کسی که اکنون وارد سیستم شده است نگهداری میکند. مخفف این قسمت بصورت HKCU نوشته میشود.
HKEY_LOCAL_MACHINE
تمام تنظیمات یک سیستم در این بخش قرار دارد. نام خلاصه این بخش HKLM میباشد.
این بخش را عملا میتوان مهمترین بخش رجیستری دانست.
HKEY_USERS
تنظیمات کاربری تمام حسابهای کاربری روی سیستم را ذخیره میکند. این مورد معمولا برای زمانی استفاده میشود که شما میخواهید تنظیماتی در رابطه با دیگر کاربران را مشاهده کنید.
HKEY_CURRENT_CONFIG
تمام اطلاعات مربوط به وضعیت فعلی سخت افزار را ذخیره میکند.