انواع سی دی و نرم افزار های جدید

      لینک های داغ

 
   
  





تهران وب
اخبار روز :: دوستان :: تهران مانیا :: پزشکی :: بالاشهر :: ایران من
ایران 20 :: امواج :: هفت ستاره :: تهران وب :: پرشین تاپ :: طنز :: ایران شادی :: خنده :: لینک باکس :: دنیای خنده

آموزش کامپيوتر :: زبان هاي برنامه نويسي

موضوع: دستیابی به رجیستری در VB.NET

احتمالا تاکنون مطالب زیادی در مورد رجیستری ویندوز شنیده‌اید. اما آیا تابحال فکر کرده‌اید که چگونه میتوانید از این ویژگی ویندوز در برنامه‌های خودتان استفاده کنید؟
این مقاله به بررسی چگونگی دستیابی به رجیستری در ویژوال بیسیک دات نت می پردازد. رجیستری ویندوز یکی از پرکاربرد ترین مباحث در برنامه نویسی استاندارد ویندوز میباشد که اکثر برنامه‌های موجود از این امکان بهره میبرند. برای مثال می توان از رجیستری برای نگهداری آخرین تغییرات داده شده در برنامه و یا ذخیره تنظیماتی که کاربر در برنامه اعمال کرده است استفاده کرد. در 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 میتوان مقادیری را در آن کلید نوشت و یا از آن کلید خواند.

توسط رجیستری کارهای بسیار زیادی میتوان انجام داد. شما نیز با کمی تمرین میتوانید برنامه های استاندارد و جالبی را طراحی کنید.

مطلب بعدی   ::  مطلب قبلی

   


 

  تاثير قرص هاي ضدبارداري بر بيماري ام اس
  كشف يك نقص امنيتي حساس در iTunes اپل
  بازگشت به خود
  دانستني هاي گردشگري اسفراين
  اس-ام-اس های جالب8
  محمد اصفهاني » برکت » ستاره غريب
  نحوه خلاص شدن از دست Windows Messenger
  آفتاب سوختگي Sun burn
  به من نگو دوستت دارم » جنگل
  ابزار الكترونيكي خود را با لباستان شارژ كنيد!
علل بروز ضعف شنوایی
تصاويري از غذاهاي تهوع آور!!!
ترك سيگار با تصوردرماني
برخورد نانسي عجرم با خبرنگار اسرائيلي
ی شماره 11~~ حذف کردن برنامه هایی که پاک نمیشوند !
سرمستان » آواز ابو عطا
فرشاد جمالي » ديار مهر » بگذار و بگذر
تهيه ترکيبي از گل نرگس براي مقابله با آلزايمر
مجيد رکني » آخرين معشوق » سرود هستي
مردان از ديدگاه زنان
 
صفحه اول  : تقشه سایت : لینک باکس