رجيستری ويندوز يک ساختار سلسله مراتبی دارد ، البته اگر
چه در ابتدا کمی گيج کننده به نظر می رسد اما ساختار آن شبيه ساختار شاخه
هايی است که شما برای نگهداری فايلها و برنامه هايتان بر روی سيستم ايجاد
و استفاده ميکنيد است.يعنی شامل يک شاخه اصلی که خود به زير شاخه های
تقسيم می شود و هر زير شاخه ممکن است به زير شاخه های ديگری تقسيم شود.
واين
دقيقا ساختار يک درخت است که از ريشه شروع شده و به شاخه هايی تقسيم می
شود تا نهايتا به برگها برسد.هر شاخه اصلي با آيكون
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
: اين نوع متغير براي نمايش داده هاي 4 بايتي و همچنين براي ذخيره كردن
مقادير منطقي درست يا غلط(TRUE
OR
FALSE)
به كار ميروند.بدين ترتيب كه براي نمايش غلط ار عدد "0" و براي نمايش
درست از "1" استفاده ميشود . علاوه بر اين براي نگهداري پارامترهاي
گرداننده ددستگاهها و سرويس دهنده ها از اسن نوع پارامتر لستفاده مي
كنند.و در REGEDT32
قابليت نمايش به صورت باينري ،هگزا و دسيمال را دارد.
REG_EXPAND_SZ
: اين يك نوع متغيررشته اي فابل گسترش مي باشد كه نرم افزار ها جهت بعضي
اعمال خود از اين متغير استفاده مي كنند.براي مثال در ويندوز 2000 ياNT
به جاي عبارت %SYSTEM
ROOT% با مقدار
واقعي خود يعني مسير نصب ويندوز (مثلا
C:\WINDOWS)
جايگزين مي شود. بايد توجه داشته باشيد كه اين نوع متغير فقط در
ويرايشگرهاي پيشرفته رجيستري از قبيل
REGEDT32
قابل استفاده است.
REG_MULTI_SZ
: اين نوع متغير رشته اي چند گانه مي باشد كه براي مقاديري كه شامل يك
ليست يا چندين مقدار ميباشد به كار مي رود كه هر مقدار با كاراكتر
NULL
از بقيه جدا مي شود. بايد توجه داشته باشيد كه اين نوع متغير فقط در
ويرايشگرهاي پيشرفته رجيستري از قبيل
REGEDT32
قابل استفاده است.
REG_SZ
: اين نوع متغير رشته اي استاندارد مي باشد كه براي ذخيره كردن متن قابل
خواندن توسط كاربر استفاده مي شود.
انواع
ديگر نوع داده كه در ويرايشگرهاي استاندارد قابل استفاده نيستند عبارتند
از :
REG_DWORD_LITTLE_ENDIAN :
كه يك عدد 32 بيتي از نوع
LITTLE_ENDIAN
را مي توانند در خود ذخيره كنند.
REG_DWORD_BIG_ENDIAN
: كه يك عدد 32 بيتي از نوع
BIG_ENDIAN
را مي توانند در خود ذخيره كنند.
REG_LINK
: كه يك پيوند نماد ين يونيكد مي باشد و به طور داخلي
استفاده ميشود و نرم افزارها قادر به استفاده كردن از آن نمي باشند.
REG_NONE
: كه نوع خاصي براي آن تعريف نشده است.
REG_QWORD
: اين نوع متغير مي تواند يك عدد 64 بيتي را در خود ذخيره كند.
REG_QWORD_LITTLE_ENDIAN
: اين نوع متغير نيز مي تواند يك عدد 64 بيتي با فرمت
LITTLE_ENDIAN
را در خود ذخيره كند .
REG_RESOURCE_LIST
: ليست منبع گرداننده هاي دستگاه ها مي باشد.