ساختـــــــــار رجيستري
رجيستري داراي يك ساختار مرتبه‌اي (hierachal) مي‌باشد ؛هر چند كه ساختمان آن پيچيده به نظر مي‌آيد،اما همانند ساختار پوشه‌هاي روي هارد ديسك شما مي‌باشد.شكل ظاهري Registry Editor ، مشابه Windows Explorer بوده و در آن ، ساختمان رجيستري به صورت يك ساختار درختي نمايش داده مي‌شود. در ساختار رجيستري ،هر شاخه اصلي (كه با آكن پوشه ويندوز نمايش داده شده است و كلمه اول آن HKEY مي‌باشد) يكHive ناميده مي‌شود. Hiveها شامل Key ها هستند .هر Key(كليد) خود ميتواند شامل زير كليدهاي ديگر باشد.كليد ممكن است به زير كليدهاي ديگر رجوع كنند و يا به يك مقدار ( Value) اشاره كنند.مقادير شامل اطلاعات واقعي ذخيره شده در رجيستري هستند . پنج نوع مقدار اصلي وجود دارد كه عبارتند از :
Expandable-String  , Multi-String  , String  , Binary  ,DWORD
 زماني كه پنجره مربوط به رجيستري را باز كرديد ،پنجره مذكور شامل دو پانل است .پانل چپ و راست . در پانل سمت چپ يك ريشه به نام   My Computerوجود دارد كه با كليك بر روي آن پنج Hive (ريشه هاي اصلي)به نامهاي زير را مشاهده ميكنيد :
 HKEY_CLASSES_ROOT
    شامل چند دسته از تنظيمات مي شود .تنظيماتي مربوط به ارتباطات فايلهاي است كه انواع مختلف فايلها را با برنامه هايي مرتبط مي‌كند كه مي‌توانند آنها را باز ،چاپ و ويرايش نمايد.تنظيمات بعدي مربوط به مشخصات ثبت كلاسها براي شيء‌هاي COM (Component Object Model) است .اين كليد ريشه از نظر اعمال تغييرات متناسب با نياهاي شخصي ،يكي از جالبترين كليدهاي ريشه در رجيستري است.اين كليد ريشه همچنين بزرگترين كليد موجود در رجيستري است و دليل فضاي بسيار زيادي كه رجيستري اشغال مي‌كند همين كليد است .    

 HKEY_CURRENT_USER
    شامل تنظيماتي(خاص _ كاربر) از قبيل تنظيمات دسك‌تاپ،اتصالات شبكه ،چاپگرها است كه مختص كاربر فعلي است.(كاربري كه در حال استفاده از ويندوز است)

 HKEY_LOCALL_MACHINS
    تنظيماتي(خاص _كامپيوتر) شامل داده هاي پيكربندي مختص به كامپيوتراست و حاوي تنظيمات سخت افزار و نرم افزاري است .  كه به صورت سراسري اعمال ميشود  و به كاربر وابسته نيست .

 HKEY_USERS
    شامل دادهاي پيكربندي براي تمام كاربران مي‌باشد.اطلاعات داخل اين كليد براي تمام كاربراني است كه به اين كامپيوتر وارد ميشوند.( تنظيمات كاربران از جمله كاربر فعلي است)
HKEY_CURRENT_CONFIG            
    شامل تنظيمات سخت افزار موجود ميباشد .( اطلاعات ديناميك " قابل تغيير".اين قسمت، از حافظه اقتباس شده و به سخت‌افزارهاي كامپيوتر و وضعيت فعلي آنها مربوط مي‌شود)
 اين پنج شاخه به نوبه خود داراي زيرشاخه هايي است كه مقادير آن در پنجره سمت راست رجيستري نشان داده مي‌شود.
 


انــــــــــواع داده‌هاي رجيستري

   هر مقدار رجيستري به صورت يكي از پنج نوع داده اصلي (كه قبلا اشاره شد) ذخيره مي‌شود. اين پنج نوع عبارتند از :
 (String Value) REG_SZ
    اين نوع، يك رشته استاندارد است كه براي نمايش مقادير متني قابل خواندن به كار مي‌رود ."SZ" مخفف "String Zero" مي‌باشد.
(Binary Value) REG_BINARY
     اين نوع، مقادير را بصورت داده‌هاي باينري خام ذخيره مي‌كند .اكثر اطلاعات مربوط به اجزاي سخت افزاري بصورت داده‌هاي باينري هستند و ميتوانند در يك ويرايشگر بصورت هگزادسيمال نمايش داده شوند.
(DWORD Value) REG_ DWORD
    اين نوع،داده‌ها را بايك عدد چهار بايتي يعني محدوده 0 تا 4249672295 نمايش مي‌دهد و معمولا براي مقادير بولي بكار مي‌روند.مثلا 0 براي غير فعال و 1 براي فعال و... .بسياري از پارامترها براي راه‌اندازهاي ابزارهاو سرويس‌ها ،از اين نوع‌اندو مي‌توانند در Regedit32 به صورت باينري ،هگزادسيمال و دسيمال ودر Regedit بصورت هگزادسيمال و دسيمال نشان داده شوند. DWORDمخفف جمله "Double Word " مي‌باشد.
(Expandable String Value) REG_EXPAND_SZ
    اين نوع، يك رشته داده‌اي قايل رشد است كه يك رشته ، شامل يك متغيير مي‌باشدكه با فراخواني توسط برنامه‌هاي كاربردي ،جايگزين مي‌شود.براي مثال مقدار "%SystemRoot%" با مكان واقعي پوشه‌اي كه شامل سيستم فايلي NT مي‌باشد جايگزين مي‌شود.(اين نوع تنها در ويرايشگر رجيستري مربوط به ويندوز XP و يا يك نسخه پيشرفته ويرايشگر رجيستري نظير REGEDT32 قابل دسترس است ).
(Multi String Value) REG_MULTY_SZ
   اين نوع ، يك رشته چند گانه است كه جهت نمايش مقاديري شامل ليست‌ها يا مقادير چندگانه‌اي بوده و هر كدام توسط يك كاركتر NULL از هم جدا شده‌اند،به كار مي‌رود.(اين مقدار در ويندوز XP و يا هنگام استفاده از يك ويرايشگر رجيستري پيشرفته مثل REGEDT32، قابل دستيابي است).
انواع ديگر داده‌هاي رجيستري كه در ويرايشگرهاي استاندارد رجيستري قابل دستيابي نيستند ،عبارتند از :
   REG_WORD_LITTLE_ENDIAN      : يك عدد 32 بيتي با قالب Little_Endian
         REG_WORD_BIG_ENDIAN    : يك عدد 32 بيتي با قالب Big_Endian
         REG_NONE   : يك نوع مقدار تعريف نشده.
     REG_QWORD    :يك عدد 64 بيتي .
     REG_QWORD_LITTLE_ENDIAN   : يك عدد 64 بيتي با قالب Little_Endian
    REG_RESOURCE_LIST   : يك ليست منابع از راه‌اندازهاي سخت‌افزاري .
   REG_LINK   : يك ارتباط سمبليك Unicode كه به طور داخلي استفاده مي‌شود.برنامه‌هاي كاربردي از اين نوع استفاده نمي‌كنند. 



نحوي‌استفاده از رجيستري

    اگر تا به حال رجیستری ویندوزتان را دستکاری کرده باشید , حتما می دانید که برای ورود به قسمت تغییرات باید ابتدامنوی Start ویندوزتان را باز کنید , سپس قسمت Run را انتخاب کنید و در آنجا عبارت regeditرا تایپ کنید . پس از کلیک کردن دکمه OK به قسمت رجیستری می‌روید . در حقیقت شما بااین کار همان ابزار معروف Registry Editor را کمی جلوتر توضیح داده ام باز کرده اید                                                . Start / Run / Regedit



محيط ويرايشگر رجيستري

  همانطور كه در بالا قيد كرديم ويرايشگر رجيستري شامل دو پانل است .

پانل سمت چپ : اين پانل نمايشگر نحوه سازماندهي رجيستري مي‌باشد.اولين و بالاترين كليد (مدخل)
My Computer است كه داراي چندين كليد است كه در ويرايشگر رجيستري بصورت پوشه نمايش داده مي شوند.هر كليد مي‌تواند داراي چند زير كليد باشد و اين امر تا هرسطحي مي‌تواند ادامه يابد .جهت بازنمودن هر كليد و مشاهده زير كليدهاي آن بايد بر روي علامت (+) آن كليد كليك نموده و جهت بستن كليد هم مي‌توانيد بر روي (-) كليك نمايد .
پانل سمت راست :اين پانل ،حاوي مقادير يك كليد در رجيستري را نمايش مي‌دهد.هر كليد ميتواند شامل چندين مقدار باشد كه هر يك از اين مقادير داراي نام(Name) ، محتوا (Data )و نوع (Type)  هستند.
 



ايجاد ، حذف و تغيير نام كليدها و مقادير

   براي ايجاد يك كليد يا مقدار جديد ،مي‌توانيد از منوي Edit گزينه New را انتخاب كرده و يا در قسمت راست پنجره ،كليك راست نموده و گزينه New را انتخاب كنيد.در اين صورت منوي باز مي‌شود كه از آنجا مي‌توانيد كليد جديد و يا مقدار جديدرا بر اساس نوع داده مورد نظر خود ايجاد كنيد.
براي تغيير دادن نام كليدها و يا مقادير نيز مي توانيد روي آن كليك راست كرده و گزينه Rename  يا از منوي Edit گزينه Rename  را انتخاب كنيد و يا كليد F2 را فشار دهيد.
براي حذف كردن يك كليد يا يك مقدار ،مي‌توانيد كليد Delete روي صفحه كليد را فشار دهيد و يا كليك راست كرده و گزينه Delete را انتخاب ‌كنيد. 
توجه: به خاطر داشته باشيد كه قبل از هر گونه تغيير در رجيستري ويندوزتان ، حتما يك Backup از آن تهيه كنيد .زيرا ممكن است تغيير دادن و يا حذف كردن يك تنظيم بحراني رجيستري ،منجر به نصب دوباره سيستم عاملتان گردد.عمل Backup گيري و Restore كردن در ادامه توضيح داده خواهد شد.
مقــدار دهي به مقـادير
   هر كدام از انواع مقادير تعريف شده در رجيستري جهت كارآيي ،نياز به مقداردهي دارند تا بر اساس مقدار انتساب شده عمل محوله را انجام دهند.براي مقداردهي به هر كدام از مقادير (String , Binary ,DWORD) از دو روش مي‌توانيد استفاده كنيد: روي مقدار ايجاد شده دابل كليك كنيد.  روي مقدار كليك راست كرده و گزينه Modify را انتخاب كنيد.پس از انجام يكي از روشهاي ذكر شده پنجره مقداردهي مربوط به مقدار انتخابي نمايش داده خواهد شد.اين پنجره در هر سه نوع مقدار تعريف شده براي رجيستري متفاوت مي‌باشد.براي مقداردهي تنها كافي است در پنجره نمايش داده شده و در محل مربوطه مقدار عددي مورد نظر را وارد كرده و OK را بزنيد .مقدار وارد شده ، انتساب خواهد شد.
                                                               



نحوه جستجوي مقادير و كليدها در رجيستري

 
    چنانچه پيدا كردن يك كليد، مقدار و يا موضوع خاص در ميان Hive ها و زير كليدهاي رجيستري برايتان دشوار و خسته كننده است ، مي توانيد آنرا از گزينه Find واقع در منوي Edit جستجو كنيد.براي اينكار در قسمت Find What عبارت مورد نظر خود را تايپ كرده و روي Find Next كليك كنيد.
                                                        


انتقال دادن تنظيمات رجيستري (Import , Export)

     يكي از خصوصيات مهم ويرايشگر رجيستري ،توانايي آن در انتقال تنظيمات رجيستري به فايل متني و بالعكس مي‌باشد.اين فايل متني كه با پسوند .REG شناخته مي‌شود، مي‌توان ذخيره شده و يا توسط افراد ديگر جهت تغيير دادن سريع تنظيمات محلي ( Local) رجيستري ، به اشتراك گذارده شود.شما مي‌توانيد به سادگي يك كليد خاص و يا كل رجيستري ويندوزتان را به يك فايل ارسال (Export) كرده و سپس آرايش آن فايل را در  Notpad ويندوز مشاهده كنيد .براي اينكار ابتدا كليدي را انتخاب كرده سپس از منوي File ،بر روي گزينه Export كليك كنيد ( در ويندوز 98و 95 از منوي Registry گزينه Export Registry File را انتخاب كنيد ). در پنجره Export Registry File ، با يك نام ، فايلتان را ذخيره كنيد .اگر شما فايل ذخيره شده را در Notpad باز كنيد بعنوان مثال متن زير را مشاهده خواهيد كرد :
HKEY_LOCAL_MACHINE \ SYSTEM \ Setup
“ SetupType “=dword :00000000
“ Cmdline ” =”setup –newsetup”
“ SystemPrefix “= hex:c5,0b,00,00,00,40,36,02
 
 ساختار فايل بسيار ساده است .عبارت  HKEY_LOCAL_MACHINE \ SYSTEM \ Setup كليدي را نشان مي‌دهدكه مقادير از انجا هستند و در عبارت “ SetupType “=dword :00000000 ، نوع و مقادير موجود دركليد فوق ، بعد از علامت = نشان داده شده‌اند.
براي Import  كردن اطلاعات رجيستري از يك فايل .REG به داخل رجيستري نيز مي‌توانيد گزينه Import را از منوي File انتخاب كرده ( در ويندوز 98و 95 از منوي Registry گزينه Import Registry File را انتخاب كنيد ).و در پنجره نمايش داده شده ، نام و مسير .REG خود را وارد نماييد . با زدن كليد  Open رجيستري شروع به Import   كردن محتويات فايل به داخل بانك اطلاعاتي خود ، خواهد كرد .


حذف كردن كليدها و يا مقادير با استفاده از يك فايل  REG

    امكان حذف كليدهاو مقادير با استفاده از فايل REG وجود دارد.براي حذف يك كليد مي‌توانيد يك علامت "-"در قسمت سمت چپ ان كليد قرار دهيد .مثلا براي حذف كليد زير
HKEY_LOCAL_MACHINE \ SYSTEM \ Setup
فايل REG آن بايد به صورت زير باشد:
Windows Registry Editor Version 5.00
- HKEY_LOCAL_MACHINE \ SYSTEM \ Setup
 
روش حذف مقادير منحصر به فرد نيز به همان صورت است . اما بجاي قرار دادن علامت منفي در قسمت چپ كل كليد ، آن را بعد از علامت مساوي قرار دهيد . براي مثال براي حذف مقدار "Setup Type "، فايل REG بايد به صورت زير تغير داده شود:
 
Windows Registry Editor Version 5.00
HKEY_LOCAL_MACHINE \ SYSTEM \ Setup
 
  = -"Setup Type "
 
 اين اعمال را با مراقبت تمام ، انجام دهيد چنانكه ف ممكن است حذف كردن نا صحيح يك مقدار يا يك كليد ، بتواند مشكلات بزرگي را داخل رجيستري به وجود بياورد . پس به خاطر داشته باشيد كه هميشه قبل از انجام چنين اعمالي ، از رجيستري‌تان Backup بگيريد.
 


گزينــه‌هاي خط فرمـــان مربوط به Regedit

 
   Regedit داراي تعدادي گزينه خط فرمان مي‌باشد كه به صورت اتوماتيك در فايل‌هاي دسته‌اي و يا در
اعلان دستور ، قابل استفاده است .در زير تعدادي از اين گزينه‌ها ذكر شده است                                        . Regedit . exeگزينه‌‌ها  [File Name ]
  File Name     : انتقال فايل REG  به داخل رجيستري
         / S: گرفتن تاييد، مثلا حذف جعبه تغييرات هنگام انتقال فايل
        / E  : انتقال محتوي رجيستري به فايل REG بعنوان مثال :
Regedit / s file.reg HKEY_ USERS \.DEFAULT                    
    / L:system    : مشخص كردن مكان فايل system.dat جهت استفاده
        / R:User   : مشخص كردن مكان فايل User.dat جهت استفاده
 



تهيه نسخــه پشتيبـــان از رجيستري

    براي تهيه نسخه پشتيبان از رجيستري ، فايل Regedit.exe  را اجرا كرده و از منوي  File گزينه Export  را انتخاب كنيد .حال در پنجره نمايش داده شده ، در محل File Name  نام فايل خود را نوشته و از قسمت Export Rangeگزينه All را علامت بزنيد .اكنون با زدن كليد Save كل رجيستري شما در فايل انتخاب شده ذخيره خواهد شد.چنانچه رجيستري ويندوزتان خراب شود و يا با مشكلي برخورد كند ، آنگاه مي‌توانيد گزينه Import از منوي File  ( براي ويندوز 98 و95 گزينه  Import Registry File … از منوي Registry ) را انتخاب كنيد .حال در پنجره نمايش داده شده ، نام و آدرس فايل .REG خود را وارد نموده و كليد Open را كليك كنيد. اكنون محتويات فايل .REG شما به داخل رجيستري Restorمي‌شود.
 
 


مشاهده نتيجه تغييرات اعمال شده در رجيستري

   بسياري از تغييرات ايجاد شده در رجيستري پس از يكبار Restart كردن ويندوز و برخي ديگر پس از يكبار Log Off شدن ، قابل مشاهده مي‌باشند.چنانچه بخواهيد بدون Restart كردن و ترك ويندوز تاثير تغييرات اعمال شده در رجيستري را سريعا مشاهده كنيدبايستي با توجه به ويندوز خود يكي از روشهاي زير را بكار ببريد:
  NT/2000/XP   سه كليد Alt + Ctrl +Delete را همزمان فشار داده و از صفحه Task Manager ، برگه  Processes را انتخاب كنيد .در ليست موجود Explorer.exe را علامت زده و روي كليد End Process كليك كنيد و سپس گزينه New Task در منوي File  را انتخاب و در محل مربوطه كلمه Explorer را وارد كرده و روي Ok كليك كنيد .با اين كار فايل Explorer ويندوز از حافظه خارج شده بار ديگر با تغييرات اعمال شده جديد اجرا مي‌شود.   95 / 98 / Me   سه كليد Alt + Ctrl +Delete را همزمان فشار داده تا پنجره  Task List  مشاهده شود.از ليست مزبور ، Explorerرا علامت زده و روي كليد End Task كليك كنيد.به هنگام نمايش شده پنجره Shut down كليد Cancel را بزنيد و منتظر بمانيد .پس از چند ثانيه پيغام خطايي با عنوان “ A program not responding “  نمايش داده خواهد شد .روي كليد End Task كليك كنيد. با اين كار Explorer دوباره راه‌اندازي شده و تغييرات جديد در آن اعمال شده است.


 فايلهاي مخفي !

   ترفندي جالب براي شما كه نمي خواهيد پوشه هاي (و يا فايلهاي ) مخفيتان را كسي به حالت غير مخفي برگرداند و آنها را ببيند . با ترفند زير مي توانيد گزينه Show all files را در Folder option عملا غير فعال سازيد . بطوريكه به شكل خودكار از اين حالت خارج شود .جهت انجام اين عمل مراحل زير را دنبال كنيد :ابتدا regedit رو باز كنيد سپس دكمه f3  را بزنيد. سپس كلمه showall  را وارد كرده و دكمه find next  را كليك كنيد(از قسمت پايين اين پنجره گزينه keys  فعال باشد.) تا كليد مورد نظر در پانل چپ ظاهر شود.در اين حالت از پانل راست روي گزينه checkedvalue دابل كليك كنيد و مقدار آن را از 1 به 0 تغيير داده از رجيستري خارج شويد. حال my computer  را باز كرده و از منوي tools گزينه folder options را انتخاب كنيد.به سربرگ view رفته و در قسمت hidden files and folders گزينه do not show hidden files and folders را فعال كنيد و در نهايت ok را بزنيد.از اين پس هرگاه بخواهيد فايلهاي مخفي را آشكار كنيد موفق نخواهيد شد مگر اينكه دوباره ارزش پوشه checkedvalue را به 1 برگردانيد.
توجه : دكمه f3 جهت جستجوي يك كليد در رجيستري مي‌باشد.
                                                               


حذف فلش از كنار shortcut ها

  هنگامي كه در ويندوز ميانبر مي سازيم در گوشه پايين و سمت چپ آيكون آن shortcut،علامت فلش سفيد رنگي ظاهر مي شود كه ممكن است براي شما خوشايند نباشد.براي حذف كردن آن دستوات زير را در registry انجام دهيد :
 گزينه Is shortcut را از سمت راست مسيرهاي زير حذف كنيد .
مسير اول:Hkey-Classes-Root\Lnkfile                                                          مسير دوم:Hkey-Classes-Root\Piffile
مسير سوم:Hkey-Classes-Root\Internet shortcutم                                 مسير چهارم:Hkey-Classes-Root\Dos shortcut
توجه : دستور  Is shortcut،از نوع String value و مقدار آن1 مي باشد.براي بازگشتبه حالت اول ،به مسيرهاي فوق رفته و در سمت راست بازدن كليك راست و انتخاب گزينه new سپس String value دستور را دوباره ايجاد كنيد.
                                                        


نمايش فايلهاي DAT در قسمت Media Files

حتما شما هم بارها ازWindows Media Player استفاده كرديد و مي دونيد كهMedia Player بطور پيش فرض فايل هاي ويديويي با فرمت DAT رو در ليست فايل ها نمايش نمي ده و بايد براي نمايش و باز كردن اين فايل ها از قسمت Type of file گزينه All Files را انتخاب كنيم تا همه فايل ها , با هرپسوندي كه دارند قابل مشاهده و انتخاب باشد.اگر مي خواهيد Media Player فايلهاي DAT را هم در قسمت Media Files در پنجره Open نشان دهد , مراحل زير را دنبال كنيد :در  regedit مسير زير را دنبال كنيد: 
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MediaPlayer \ Player\ Extensions                           
سپس برروي Types كليك كنيد . درقسمت سمت راست روي عدد 3 دوبار كليك كنيد تا پنجره Edit string باز شود . ( اين بخش مربوط به Media File all Types مي باشد.) در انتهاي قسمت Value Data ابتدا يك علامت ;  گذاشته و سپس dat.* را به آن اضافه كنيد : *.mpeg;*.mpg;*.m1v;*.mp2;*.mpa;*.mpe;*.dat .
حال صفحه رجيستري ويندوز را ببنديد و Media Player را باز كنيد .
اين بار مي بينيد كه همه فايل هاي با فرمت DAT نيز قابل مشاهده و انتخاب مي باشند .