Mr.BabYsf
دوشنبه 22 بهمن 1386, 16:23 عصر
من مشکلی با دستور های رجیستری در ویژوال بیسیک دارم.
همانطور که میدانید برای ساخت یک Value در ساختمان رجیستری توسط ویژوال بیسیک باید از دستوری شبیه به دستور زیر استفاده کرد:
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer \Advanced", keyhand)
r = RegSetValueEx(keyhand, "EnableBalloonTips", 0, REG_DWORD, 1, 4)
r = RegCloseKey(keyhand)
همچنین میدانید که اگر با استفاده از رجیستری ادیتور خود ویندوز (Run>RegEdit) کلیدی بسازیم،درون آن کلید به طور خود کار یک Value به اسم (Default) ساخته میشود:
http://uamco.parsehgig.com/MyFiles/VB/Registry Problem/Registry-Problem1.jpg
حال اگر بخواهیم با کمک دستور ذکر شده در ویژوال بیسیک تغییری در این Value ایجاد کنیم، ارزش (Default) هیچ تغییری نمیکند بلکه یک Value دیگر دقیقآ با همان اسم ساخته میشود:
کد مذکور:
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(HKEY_CURRENT_USER, "Console\New Key #1", keyhand)
r = RegSetValueEx(keyhand, "(Default)", 0, REG_SZ, ByVal "Mr.BabYsf", Len("Mr.BabYsf"))
r = RegCloseKey(keyhand)
نتیجه:
http://uamco.parsehgig.com/MyFiles/VB/Registry Problem/Registry-Problem2.jpg
حال با توجه به این توضیح، فکر میکنید راهی هست که بتوان ارزش (Default) اصلی را تغییر داد، بدون اینکه یک ارزش جدید ناخواسته ایجاد شود؟
همانطور که میدانید برای ساخت یک Value در ساختمان رجیستری توسط ویژوال بیسیک باید از دستوری شبیه به دستور زیر استفاده کرد:
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer \Advanced", keyhand)
r = RegSetValueEx(keyhand, "EnableBalloonTips", 0, REG_DWORD, 1, 4)
r = RegCloseKey(keyhand)
همچنین میدانید که اگر با استفاده از رجیستری ادیتور خود ویندوز (Run>RegEdit) کلیدی بسازیم،درون آن کلید به طور خود کار یک Value به اسم (Default) ساخته میشود:
http://uamco.parsehgig.com/MyFiles/VB/Registry Problem/Registry-Problem1.jpg
حال اگر بخواهیم با کمک دستور ذکر شده در ویژوال بیسیک تغییری در این Value ایجاد کنیم، ارزش (Default) هیچ تغییری نمیکند بلکه یک Value دیگر دقیقآ با همان اسم ساخته میشود:
کد مذکور:
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(HKEY_CURRENT_USER, "Console\New Key #1", keyhand)
r = RegSetValueEx(keyhand, "(Default)", 0, REG_SZ, ByVal "Mr.BabYsf", Len("Mr.BabYsf"))
r = RegCloseKey(keyhand)
نتیجه:
http://uamco.parsehgig.com/MyFiles/VB/Registry Problem/Registry-Problem2.jpg
حال با توجه به این توضیح، فکر میکنید راهی هست که بتوان ارزش (Default) اصلی را تغییر داد، بدون اینکه یک ارزش جدید ناخواسته ایجاد شود؟