اکثر افرادی که با ویندوز سر و کار دارند بسیار کنجکاوند سر از کار رجیستری ویندوز در بیاورندبه همین خاطر من پس از معرفی مختصری از رجیستری کتاب الکترونیکی در این زمینه برای دانلود قرار میدهم تا کسانی که قصد دارند رجیستری را دستکاری کنند با خیال راحت به این کار بپردازند .

رجیستری یک بانک اطلاعاتی برای نگهداری تنظیمات و انتخاباتی است که برای سیستم عاملهای ۳۲ بیتی از قبیل ویندوز ۹۵،۹۸،ME،NT،۲۰۰۰،XP و… تنظیم می نماییم.محتوای آن شامل اطلاعات و تنظیماتی است که برای نرم افزار ها ،سخت افزار، کاربران، و تنظیمات دلخواه برای کامپیوتر و سیستم عامل ویندوز می باشد.

هنگامی که کاربر تغییراتی در ویندوز به وجود می آورد مثلا در کنترل پنل ،Accessories ،System Policies تغییراتی می دهد ، این تغییرات همگی در رجیستری ویندوز منعکس و ذخیره می شوند.
فایلهایی که رجیستری ویندوز را تشکیل می دهند بسته به نسخه ویندوز شما متفاوت می باشند.در ویندوز ۹۵ یا ۹۸ شامل دو فایل مخفی که در دایرکتوری ویندوز نصب شده(مثلا c:windows) قرار دارند که فایلهای User.dat و System.dat هستند.در ویندوز هزاره( ME) علاوه بر اینها فایل Class.dat نیز به آنها اضافه شده است.اما در ویندوز ۲۰۰۰ و NT این فایلها در مسیر %system root%system32config قرار دارند . ممکن است شما منظور عبارت %system root% را نفهمیده باشید ، این به معنی نام درایو و مسیری است که ویندوز در آن نصب شده است.

البته باید بدانید که این فایلها را مستقیما نمی توانید مورد دستکاری و ویرایش قرار دهید.برای این کار به ابزار خاص خود یعنی یک Regirtery Editor احتیاج دارید که بعدا به آن خواهیم پرداخت.

ساختار رجیستری
رجیستری ویندوز یک ساختار سلسله مراتبی دارد ، البته اگر چه در ابتدا کمی گیج کننده به نظر می رسد اما ساختار آن شبیه ساختار شاخه هایی است که شما برای نگهداری فایلها و برنامه هایتان بر روی سیستم ایجاد و استفاده میکنید است.یعنی شامل یک شاخه اصلی که خود به زیر شاخه های تقسیم می شود و هر زیر شاخه ممکن است به زیر شاخه های دیگری تقسیم شود.
واین دقیقا ساختار یک درخت است که از ریشه شروع شده و به شاخه هایی تقسیم می شود تا نهایتا به برگها برسد.هر شاخه اصلی با آیکون Folder نمایش داده می شود که به آنها اصطلاحا Hive نیز گفته میشود.هر شاخه خود می تواند شامل زیر شاخه هایی باشد تا نهایتا به متغیرها یا مقادیر بر سند.در متغیرها است که اطلاعات واقعی رجیستری ذخیره می شود.

در رجیستری سه نوع متغیر وجود دارد که عبارتند از :String , Binary , Dword که هر کدام از آنها در شرایط خاصی استفاده می شوند.به طور شش شاخه اصلی در رجیستری وجود دارند که هر کدام بخشی از اطلاعات ذخیره شده در رجیستری را نگهداری می کنند که در اینجا اشاره ای کوتاه بر هر کدام داریم:
HKEY_CURRENT_USER: این شاخه به بخشی از اطلاعات شاخه HKEY_USERS اشاره می کند که در آن خصوصیات و اطلاعات کاربر فعلی از قبیل نام کاربر، تنظیمات میز کاری (Desktop) ، تنظیمات منوی شروع (Startmenu) و … در سیستم نگهداری می شود.

HKEY_CLASS_ROOT: این شاخه شامل اطلاعاتی از قبیل :نگاشت پیوستگی فایلها برای پشتیبانی از ویژگی کشیدن و رها کردن (Dtrag-and-Drop) ، اطلاعات OLE ، میانبرهای ویندوز(Shortcuts) ، و هسته اصلی واسط کاربری ویندوز (User Interface) میباشد.
HKEY_LOCAL_MACHINE : این شاخه شامل اطلاعاتی در مورد خصوصیات سیستم کامپیوتر از قبیل سخت افزار ، نرم افزار و دیگر مشخصه های کامپیوتر می باشد، که ان اطلاعات برای تمام کاربرانی که از سیستم استفاده می کنند یکسان می باشد.

HKEY_USERS : این شاخه محتوای اطلاعات انتخابات و تنظیمات مربوط به هر کاربر می باشد.هر کاربر یک SID در این شاخه دارد .
HKEY_CURRENT_CONFIG : این شاخه نیز به شاخه HKEY_LOCAL_MACHINE اشاره میکند و در ارتباط میباشد و شامل پیکربندی سخت افزار سیستم می باشد.
HKEY_DYN_DATA : این شاخه نیز به شاخه HKEY_LOCAL_MACHINE اشاره می کند و برای استفاده از خاصیت PLUG & PLAY در ویندوز می باشد . این بخش پویا می باشد یعنی بر اساس هر وسیله یا دستگاه جانبی که به سیستم متصل می شود تغییر می کند.

پنج نوع متغیر نیز وجود دارد که هر کدام در زیر شرح داده شده اند:
REG_BINARY : این نوع متغیر داده نوع باینری خام را ذخیره می کند.اکثرا اطلاعات سخت افزار و اجزاء در این نوع متغیر ذخیره می شود و همچنین در ویرایشگر رجیستری ویندوز قابلیت نمایش این نوع متغیر به صورت هگزا دسیمال نیز وجود دارد.

REG_DWORD : این نوع متغیر برای نمایش داده های ۴ بایتی و همچنین برای ذخیره کردن مقادیر منطقی درست یا غلط(TRUE OR FALSE) به کار میروند.بدین ترتیب که برای نمایش غلط ار عدد “۰” و برای نمایش درست از “۱” استفاده میشود . علاوه بر این برای نگهداری پارامترهای گرداننده‏ ددستگاهها و سرویس دهنده ها از اسن نوع پارامتر لستفاده می کنند.و در REGEDT32 قابلیت نمایش به صورت باینری ،هگزا و دسیمال را دارد.
REG_EXPAND_SZ : این یک نوع متغیررشته ای فابل گسترش می باشد که نرم افزار ها جهت بعضی اعمال خود از این متغیر استفاده می کنند.برای مثال در ویندوز ۲۰۰۰ یاNT به جای عبارت %SYSTEM ROOT% با مقدار واقعی خود یعنی مسیر نصب ویندوز (مثلا C:WINDOWS) جایگزین می شود. باید توجه داشته باشید که این نوع متغیر فقط در ویرایشگرهای پیشرفته رجیستری از قبیل REGEDT32 قابل استفاده است.
REG_MULTI_SZ : این نوع متغیر رشته ای چند گانه می باشد که برای مقادیری که شامل یک لیست یا چندین مقدار میباشد به کار می رود که هر مقدار با کاراکتر NULL از بقیه جدا می شود. باید توجه داشته باشید که این نوع متغیر فقط در ویرایشگرهای پیشرفته رجیستری از قبیل REGEDT32 قابل استفاده است.

REG_SZ : این نوع متغیر رشته ای استاندارد می باشد که برای ذخیره کردن متن قابل خواندن توسط کاربر استفاده می شود.
انواع دیگر نوع داده که در ویرایشگرهای استاندارد قابل استفاده نیستند عبارتند از :
REG_DWORD_LITTLE_ENDIAN : که یک عدد ۳۲ بیتی از نوع LITTLE_ENDIAN را می توانند در خود ذخیره کنند.
REG_DWORD_BIG_ENDIAN : که یک عدد ۳۲ بیتی از نوع BIG_ENDIAN را می توانند در خود ذخیره کنند.
REG_LINK : که یک پیوند نماد ین یونیکد می باشد و به طور داخلی استفاده میشود و نرم افزارها قادر به استفاده کردن از آن نمی باشند.
REG_NONE : که نوع خاصی برای آن تعریف نشده است.

REG_QWORD : این نوع متغیر می تواند یک عدد ۶۴ بیتی را در خود ذخیره کند.
REG_QWORD_LITTLE_ENDIAN : این نوع متغیر نیز می تواند یک عدد ۶۴ بیتی با فرمت LITTLE_ENDIAN را در خود ذخیره کند .
REG_RESOURCE_LIST : لیست منبع گرداننده های دستگاه ها می باشد.

کاربردهایی از کلید HKEY_CURRENT_CONFIG
افزایش عمق رنگ در حدود ۹۶ بیت
اگر توجه كرده باشيد به صورت پيش فرض ويندوزهاي ۹x و ۲۰۰۰ و XP فقط اجازه دسترسي به عمق رنگ در حد ۳۲ بيت را ميدهند ( يعني ۳۲ بيت در هر پيكسل ). اين گزينه شايد براي كساني كه از يك كارت گرافيك استاندارد و معمولي ( Standard PCI/AGP Video Card ) استفاده ميكنند مناسب باشد ، اما اگر شما از يك كارت گرافيك قوي استفاده ميكنيد ( در كنار يك مونيتور قدرتمند ) ديگر نيازي به اين گونه محدوديت ها نداريد و ميتوانيد بسيار فراتر از آن را از ويندوز خود انتظار داشته باشيد ( افزايش عمق رنگ در حد ۶۴ يا ۹۶ بيت ).
با افزايش عمق رنگ ويندوز ميتوانيد عكسها و فايلهاي تصويري خود را با كيفيت بسيار بهتر و شفاف تر مشاهده كنيد. پس اگر از يك كارت گرافيك قوي استفاده ميكنيد ( در كنار مونيتور قوي ) پيشنهاد ميكنم حتما اين مراحل را دنبال كنيد :

توجه مهم : قبل از هرگونه تغيير حتما ( تأكيد ميكنم حتما ) يك Backup از رجيستري تهيه كنيد.براي ويندوزهاي سري ۹x و ME :
ابتدا از طريق Run وارد Regedit شده و كليد زير را بيابيد :

HKEY_CURRENT_CONFIG\Display\Setting
سپس در صفحه سمت راست به دنبال كليدي با نام BitsPerPixel بگرديد ( از نوع String ). به صورت پيش فرض عدد آن ۳۲ خواهد بود كه بيان گر همان عمق رنگ ۳۲ بيت است. بعد روي آن دوبار كليك كرده و مقدار عمق رنگ دلخواه را به آن اختصاص دهيد كه ميتواند ۶۴ يا ۹۶ بيت و يا حتي بيشتر هم باشد ( بسته به قدرت كارت گرافيك شما ).
توجه : قبل از هر گونه تغيير در اين قسمت فايل راهنما يا RTFM يا Manual را كه در CD كارت گرافيك شما موجود ميباشد را حتما ( تأكيد ميكنم حتما ) مطالعه كنيد و از ميزان توانايي كارت گرافيك خودتان و از اينكه تا چه حد عمق رنگ را پشتيباني ميكند مطمئن شويد بعد اقدام به تغيير اين عدد كنيد. افزايش ناگهاني اين عدد و در صورتي كه كارت گرافيك شما قادر به پشتيباني از آن نباشد ميتواند باعث خسارات جبران ناپذيري در كارت گرافيك شما شود ( بع علت وارد آمدن فشار بيش از حد به آن ) بنابراين مسئوليت اين كار به عهده خودتان است !

اما زياد نگران نباشيد ، اگر با دقت و حوصله اين كار را انجام دهيد نتيجه اش بسيار جذاب و دل نشين خواهد بود.
در همين قسمت كليدهاي ديگري نيز از قبيل Resolution و … وجود دارند كه كار تنظيم Resolution و … را به عهده دارند. توصيه ميكنم با اين قسمت ها كاري نداشته باشيد.
خوب اين روش براي ويندوزهاي ۹x و ME بود. اما در ويندوز ۲۰۰۰ قضيه كمي فرق ميكند. در ويندوز ۲۰۰۰ بايد طبق روش زير عمل كرد :
ابدا از طريق Run وارد Regedit شده و سپس كليد زير را بيابيد :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\000x\System\CurrentControlSet\Services\YourCardName\Device0

توجه : در اين كليد در قسمت ۰۰۰x منظور از x هر عددي غير از ۰ است. منظور از YourCardName هم نام كارت گرافيك شما است.
حالا در صفحه سمت راست مقدار كليد Default.Settings.BitsPerPixel را به دلخواه تغيير دهيد ( ۶۴ يا ۹۶ بيت و … ).

بعد كليد زير را بيابيد :

HKEY_LOCAL-MACHINE\System\CurrentControlSet\Hardware
Profile\000x\System\CurrentControlSet
\Services\YourCardName\Device0\Mon80000000

بعد مجددا كليد Default.Settings.BitPerPixel را در صفحه سمت راست خواهيد ديد كه همان مقدار را كه به قبلي اختصاص داديد بايد به اين هم اختصاص دهيد.
در پايان شما بايد اين كليد را نيز بيابيد :
HKEY_LOCAL-MACHINE\System\CurrentControlSet\Hardware Profile\000x\System\CurrentControlSet\Services
\YourCardName\VGAsave\Device0

و مقدار Default را از ۴ به يك عدد مثل ۱۶ تغيير دهيد.