دانلود رجیستری-69-ص

دانلود رجیستری-69-ص (docx) 65 صفحه


دسته بندی : تحقیق

نوع فایل : Word (.docx) ( قابل ویرایش و آماده پرینت )

تعداد صفحات: 65 صفحه

قسمتی از متن Word (.docx) :

احتمالا تاکنون مطالب زیادی در مورد رجیستری ویندوز شنیده‌اید. اما آیا تابحال فکر کرده‌اید که چگونه میتوانید از این ویژگی ویندوز در برنامه‌های خودتان استفاده کنید؟ این مقاله به بررسی چگونگی دستیابی به رجیستری در ویژوال بیسیک دات نت می پردازد. رجیستری ویندوز یکی از پرکاربرد ترین مباحث در برنامه نویسی استاندارد ویندوز میباشد که اکثر برنامه‌های موجود از این امکان بهره میبرند. برای مثال می توان از رجیستری برای نگهداری آخرین تغییرات داده شده در برنامه و یا ذخیره تنظیماتی که کاربر در برنامه اعمال کرده است استفاده کرد. در NET. از دو کلاس Registry و RegistryKey برای دسترسی به رجیستری و داده‌های موجود در آن استفاده میشود. هر ورودی در رجیستری ویندوز شامل دو قسمت میشود: نام مقدار (Value Name) و مقدار (Value). این ورودی‌ها در در کلیدها و زیرکلیدهای رجیستری ذخیره میشوند که از این لحاظ میتوان آنها را با فایلهایی مقایسه کرد که در فهرستها و زیر فهرستها قرار میگیرند. دستیابی به رجیستری به وسیله توابع Visual Basic .NET ویژوال بیسیک دات نت چهار تابع را برای کار با رجیستری معرفی میکند که برای استفاده از آنها شما باید اجازه خواندن و نوشتن، یعنی دسترسی RegistryPermissionAccess را داشته باشید. برای اطلاعات بیشتر در این مورد به کلاس RegistryPermission رجوع کنید. در زیر اطلاعاتی را در مورد این توابع مشاهده میکنید: نام تابع توضیحات DeleteSetting یک ناحیه یا یک کلید که شامل اطلاعات ورودی از برنامه در رجیستری است را حذف میکند. GetSetting مقدار یک کلید که شامل اطلاعات ورودی از برنامه در رجیستری است را برمیگرداند. GetAllSettings یک لسیت از کلیدها و ارزش آنها که شامل اطلاعات ورودی از برنامه در رجیستری است را برمیگرداند. SaveSetting اطلاعات برنامه را در رجیستری ذخیره میکند. نکته: : اطلاعات یک ناحیه نمیتواند توسط تابع GetSetting برگردانده شود. مثال زیر یک کلید و دو زیر کلید در رجیستری میسازد، ارزش کلید اول و ارزش دو زیر کلید آنرا را چاپ میکند سپس دومین زیر کلید را حذف و مقدار کلید اول و زیر کلیدهایش را چاپ میکند تا حذف زیر کلید دوم تایید شود: ' Create the first key. SaveSetting(''TestApp'',''Startup'', ''FirstKey'', ''First'') ' Create the first subkey. SaveSetting(''TestApp'',''FirstKey'', ''FirstSubKey'', ''FirstSub'') ' Create the second subkey. SaveSetting(''TestApp'',''FirstKey'', ''SecondSubKey'', ''SecondSub'') Try ' Write the first key's value. Console.WriteLine((GetSetting(''TestApp'', ''Startup'', ''FirstKey'')) ' Write the first key as well as its two subkeys. Console.WriteLine(GetAllSettings(''TestApp'', ''Startup'')) Catch e As ArgumentException Catch e As Exception Console.WriteLine(e.GetType.ToString) End Try DeleteSetting(''TestApp'', ''FirstKey'', ''SecondSubKey'') Try Console.WriteLine(GetSetting(''TestApp'', ''Startup'', ''FirstKey'')) Console.WriteLine(GetAllSettings(''TestApp'', ''Startup'')) Catch e As ArgumentException Catch e As Exception Console.WriteLine(e.GetType.ToString) End Try توجه داشته باشید که استفاده از این توابع با محدودیتهایی همراه است. شما تنها میتوانید به کلیدهای رجیستری در محدوده HKEY_CURRENT_USER\Software\VB and VBA Program Settings دسترسی داشته باشید و همچنین به علت استفاده از کلید HKEY_CURRENT_USER شما حتما باید با نام کاربری معتبر به سیستم وارد شده باشید. دستیابی به رجیستری توسط NET Framework. همانطور که مشاهده کردید استفاده از توابع فوق با محدودیتهایی همراه است. NET Framework. برای حل این مشکل دو کلاس Registry و RegistryKey را معرفی میکند که این دو کلاس در فضانام Microsoft.Win32 قرار دارند. کلاس Registry کلیدهای پایه‌ای زیر را فراهم میکند که توسط آنها میتوان به زیر کلیدها و مقادیر آنها دسترسی داشت. خود این کلیدهای اصلی فقط خواندنی هستند. جدول زیر این هفت کلید را نشان میدهد: نام کلید توضیحات ClassesRoot معرف پسوندهای فایها و انواع اسناد موجود در سیستم به همراه خصوصیات مربوط به آنها. CurrentConfig اطلاعات مربوط به سخت افزار که مربوط به کاربر مشخصی نیست. CurrentUser اطلاعاتی مربوط به کاربر حاضر مانند تنظیمات محیط کار کاربر. DynData شامل اطلاعات پویای رجیستری که برای راه اندازهای دستگاه مجازی بکار میرود. LocalMachine شامل پنج زیر کلید (Hardware ،SAM ،Security ،Software و System) که تنظیمات مربوط به سیستم را نگه میدارند. PerformanceData شامل اطلاعات اجرایی مربوط به نرم افزارها. Users شامل اطلاعات مربوط به اولویتهای پیش فرض کاربر. مثال زیر نشان میدهد که چگونه یک مقدار DWORD را از کلید HKEY_CURRENT_USER بخوانیم: Imports Microsoft.Win32 Dim regVersion As RegistryKey Dim keyValue As String Dim intVersion As Integer = 0 keyValue = ''Software\\Microsoft\\TestApp\\1.0'' regVersion = Registry.CurrentUser.OpenSubKey(keyValue, False) If (Not regVersion Is Nothing) Then intVersion = regVersion.GetValue(''Version'', 0) regVersion.Close() End If مثال زیر یک مقدار DWORD را خوانده، یک واحد به آن اضافه کرده و سپس آنرا چاپ میکند: Imports Microsoft.Win32 Dim keyValue As String Dim regVersion As RegistryKey Dim intVersion As Integer = 0 keyValue = ''Software\\Microsoft\\TestApp\\1.0'' regVersion = Registry.CurrentUser.OpenSubKey(keyValue, True) If regVersion Is Nothing Then ' Key doesn't exist; create it. regVersion = Registry.CurrentUser.CreateSubKey(keyValue) End If If (Not regVersion Is Nothing) Then intVersion = regVersion.GetValue(''Version'', 0) intVersion = intVersion + 1 regVersion.SetValue(''Version'', intVersion) regVersion.Close() End If مطابق مثال بالا، برای دسترسی به یک کلید ابتدا متغیری از نوع RegistryKey تعریف میکنیم. سپس با استفاده از متد OpenSubKey آدرس کلید مورد نظر را داده تا کلید فوق برای خواندن آماده باشد. اگر پارامتر دوم این کلید برابر True باشد اجازه نوشتن بر روی آن کلید را نیز داریم. برای ساختن یک کلید نیز باید از متد CreateSubKey استفاده کرد. پس از ساختن و یا باز کردن یک کلید رجیستری، با استفاده از دو تابع GetValue و SetValue میتوان مقادیری را در آن کلید نوشت و یا از آن کلید خواند. توسط رجیستری کارهای بسیار زیادی میتوان انجام داد. شما نیز با کمی تمرین میتوانید برنامه های استاندارد و جالبی را طراحی کنید. از اینکه دیر به دیر آپ میکنم معذرت میخوام ولی حالا که اومدم سعی کردم با دست پر بیام. خلاصه امروز اومدم که تلافی کنم اونم با ۵ ترفند.

نظرات کاربران

نظرتان را ارسال کنید

captcha

فایل های دیگر این دسته