
نوشته شده توسط
mr-adler
میخواستم بدونم کلاس ذکر شده مربوط به وی بی 6 است یا دات نت؟
سلام عیلکم
بدون مشاهده دستورات، نمیتوان گفت مربوط به کدام نسخه وی بی است

نوشته شده توسط
mr-adler
یه جایی خوندم برای کار با ریجیستری ویندوز باید با کتابخانه advapi32 کار کرد . گفتم شاید این کلاس در این کتابخانه باشد . اما وقتی در object browser این کتابخانه رو جستجو کردم دیدم اصلا خود این کتابخانه هم موجود نیست

حالا تکلیف چیه؟وی بی 6 این مورد رو نداره؟

بله، توابع کنترل ریجستری در کتابخانه advapi32قرار دارند، عموما" برای دسترسی به ریجستری از توابع این کتابخانه استفاده میشود
توابع کنترل ریجستری به صورت پیش فرض در وی بی وجود ندارند مگر آنکه خودتان آن ها را بنویسید یا از کلاس های مربوطه استفاده کنید. کلاس clsRegistry را هم میتوانید در انجمن و هم در اینترنت پیدا کنید
راه ساده تر برای دسترسی و کنترل ریجستری استفاده از کتابخانه wshom.ocx است، برای بارگذاری این کتابخانه:
1- با کلیک راست در object-browser فرم reference را باز کنید و کتابخانه "Windows Script Host Object Model" را روشن کنید، یا از system32 فایل wshom.ocx را انتخاب کنید
2- دستور زیر را در ماژول کد یا فرم کپی کنید:
Private reg As New WshShell
در کلاس WshShell سه تابع ریجستری به نام های RegRead, RegWrite, RegDelete برای کنترل ریجستری وجود دارد:RegRead: برای خواندن ریجستری، فرمت دستوری این تابع:
reg.RegRead "ROOT_KEY\SUB_KEY\[DATA]"
ROOT_KEY: کلید اصلی، مثلا" HKEY_CURRENT_USER
SUB_KEY: کلید فرعی، به عنوان مثال: \Software\Microsoft
DATA: که یک مقدار اختیاری است برای خواندن داده موجود در کلید مشخص شده (و اگر تعیین نشود داده Default کلید خوانده میشود)
RegWrite: برای نوشتن در ریجستری، و فرمت دستوری آن:
reg.RegWrite "ROOT_KEY\SUB_KEY\[DATA]", "VALUE"
VALUE: مقدار مورد نظر برای نوشتن در ریجستری
RegDelete: برای حذف یک داده یا کلید از ریجستری، فرمت این تابع:
reg.RegDelete"ROOT_KEY\SUB_KEY\[DATA]"
نکته ای که در اینجا وجود دارد این است که همیشه پس از مسیر کلید فرعی backslash (\) قرار بدهید در غیراینصورت برنامه کلید آخر را به عنوان داده DATA تلقی میکند
نمونه ها این توابع:
RegRead-
Private Sub Command1_Click()
reg.RegRead "HKEY_CURRENT_USER\Key\Data"
End Sub
RegWrite-
Private Sub Command1_Click()
reg.RegWrite "HKEY_CURRENT_USER\Key\Data", "Value"
End Sub
RegDelete-
Private Sub Command1_Click()
reg.RegDelete "HKEY_CURRENT_USER\Key\Data"
End Sub
بجای نوشتن دستی آدرس، میتوانید آدرس مورد نظر را از ریجستری کپی و در تابع paste کنید
موفق باشید