HKEY_CLASSES_ROOT (HKCR): این کلید سطح روت از سوی ویندوز برای مدیریت Object Linking and Embedding یا همان OLE که برای برنامهنویسان کاملا آشناست و همچنین برای ارتباط فایلها با برنامهها استفاده میشود. در این سطح ویندوز تمامی فایلهای شما را با برنامههای مرتبط با آنها پیوند میدهد. در نتیجه شما قادر به باز کردن فایلها و تعامل با آنها هستید.
HKEY_CURRENT_USER (HKCU): در این بخش، همه اطلاعات مربوط به تنظیمات و پیکربندیهای در ارتباط با کاربر فعلی ذخیره میشود؛ یعنی کاربری که اکنون در ویندوز Log in است. نه تنها سیستم عامل، بلکه سایر برنامهها نیز اطلاعات مربوط به کاربر را در این قسمت از رجیستری ذخیره میکنند.
HKEY_LOCAL_MACHINE(HKLM): این بخش شامل اطلاعات مربوط به همه تنظیمات سختافزاری و نرمافزاری و مانند آن، بدون در نظر گرفتن کاربر یا User است. از آنجا که این قسمت اطلاعات جامع سیستم را در خود دارد، یکی از قسمتهایی است که بسیار مورد ارجاع ویندوز قرار میگیرد.
HKEY_USERS(HKU): همان گونه که از نام این کلید روت میتوان دریافت، این بخش مربوط به ذخیره اطلاعات همه کاربران سیستم عامل، اعم از کاربر فعلی و سایر کاربران است. تفاوت آن با HKCU در این است که اطلاعات همه کاربران و نه فقط کاربر فعلی Log in شده را در خود دارد.
HKEY_CURRENT_CONFIG(HKCC): این کلید روت، یک لینک به تنظیمات Current Hardware Profile در HKLM است و در نتیجه میتوان آن را یک کلید روت کاذب دانست.
مقادیر کلیدها
هر یک از این روتها، کلیدهای خاص خود را دارند و هر کلید مقادیر مخصوص به خود. برای هر کلید در رجیستری، میتوان شش مقدار متفاوت تعیین کرد، که این مقادیر کاملا بستگی به برنامه یا پیکربندی مورد نیاز و مقصد دار.
این مقادیر عبارتند از:
String Value: اطلاعات متنی و قابل خواندن یک خطی هستند که از نمونه بارز آنها، میتوان به مسیر پوشهها و فایلها اشاره کرد. این مقادیر از جمله گونههایی هستند که در رجیستری به وفور مورد استفاده قرار میگیرند.
Binary Value: همان گونه که از نام آن برمیآید، این مقادیر تنها از دادههای باینری (صفر و یک) تشکیل شدهاند و معمولا برای خاموش یا روشن کردن (فعال و غیر فعال کردن) تنظیمات به کار میروند.
DWORD Value (32-bit): این مقادیر دقیقا مشابه مقادیر باینری بوده، ولی در عین حال، قادر به ذخیره مقادیری از نوع Integer در دامنه ۳۲ بیت هستند. این مقادیر برای کار با سیستمهای ۳۲ بیتی طراحی شدهاند؛ هر چند میتوان از آنها برای سیستمهای ۶۴ بیتی در حالت Backward نیز استفاده کرد.
QWORD Value (64-bit): دقیقا مشابه DWORD بوده اما محدوده ذخیرهسازی دادههای Integer در آنها ۶۴ بیت است و مسلما برای کار با سیستمهای ۶۴ بیتی طراحی شدهاند.
Multi-String Value: اگر مقادیر String برای ذخیره یک خط اطلاعات متنی بودند، این نوع مقادیر قادر به ذخیره چند خط اطلاعات متنی هستند.
Expandable String Value: دقیقا مشابه مقادیر String بوده، ولی قادر به ذخیره متغیرهای محیطی نیز هستند. برنامه نویسان با این متغیرها به خوبی آشنایی دارند.
تعریف کلیدها و مقادیر جدید در رجیستری
ساخت کلیدها و مقادیر جدید در رجیستری، بسیار ساده و بدون هیچ پیچیدگی است؛ اما پیش از هر اقدام و تغییری در رجیستری، حتما یک کپی و نسخه پشتیبان از آن تهیه کنید، زیرا هر گونه تغییر نابجا یا پاک کردن کلیدها، میتواند منجر به خطاهای اساسی در سیستم عامل شود.
برای ایجاد یک کلید جدید، نخست باید هدف از ایجاد این کلید و جایگاه مربوط به آن در کلیدهای روت اصلی را بدانید. بعد از آن کافی است روی کلید روت اصلی مورد نظر کلیک راست کرده و گزینه New و سپس گزینه Key را انتخاب کنید. در این حالت کلید جدیدی ایجاد میشود که شبیه یک پوشه بوده و نامی نظیر New Key # دارد. این نام به سادگی قابل تغییر است.
پس از ایجاد کلید جدید، برای ایجاد مقدار یا مقادیر مورد نیاز آن، بر روی پنل سمت راست کلیک راست نمائید و مقدار مورد نظر را ـ بر اساس هدف و نیاز خود ـ انتخاب فرمائید. بعد از ایجاد مقدار، نام آن را مشخص کنید. توجه داشته باشید اگر در پنل سمت راست به جای مقدار، گزینه Key را انتخاب کنید، ویندوز خودکار یک Sub-Key را برای کلید فعلی ایجاد میکند
وقتی مقدار جدید را ایجاد و نامگذاری کردید، باید داده مربوط به آن را نیز وارد کنید. بر روی مقدار ایجاد شده دو بار کلیک و در قسمت Value Data داده مورد نظر را وارد کید. این داده بستگی به هدف شما و یا تنظیمات مورد نظر دارد
این کلیتی از رجیستری ویندوز و کار با کلیدها و مقادیر در آن است. بیگمان همان گونه که خود متوجه شدید، ایجاد کلیدها و مقادیر جدید در رجیستری، نیازمند اطلاعات بیشتر از نحوه کار سیستم عامل و همچنین وابسته به هدف خاص شماست. برنامه نویسان با رجیستری ویندوز بسیار سر و کار دارند که البته بخش اعظمی از این ارجاع و نیاز از طریق توابع و کلاسهای موجود در زبانهای برنامهنویسی رفع میشود.
اما درک کلیتی از کار رجیستری، به هر کاربر این امکان را میدهد که در صورت نیاز و با کمی اطلاعات حاشیهای و تکمیلی، بتواند مشکلات یا خطاهای ویندوز را برطرف کرده یا خود اقدام به ایجاد تغییرات و تنظیمات جدید در سیستم عامل کند....