موجود بودن کلاس clsregistry در vb6
با سلام خدمت دوستان عزیز
شبتون خوش و مهتابی:قلب:
میخواستم بدونم کلاس ذکر شده مربوط به وی بی 6 است یا دات نت؟
یه جایی خوندم برای کار با ریجیستری ویندوز باید با کتابخانه advapi32 کار کرد . گفتم شاید این کلاس در این کتابخانه باشد . اما وقتی در object browser این کتابخانه رو جستجو کردم دیدم اصلا خود این کتابخانه هم موجود نیست:متعجب:
حالا تکلیف چیه؟وی بی 6 این مورد رو نداره؟:ناراحت:
خیلی لازمش دارم:افسرده:
ممنون
اگه ممکنه پاسخ بدید...
نقل قول: موجود بودن کلاس clsregistry در vb6
نقل قول:
نوشته شده توسط 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 کنید
موفق باشید
نقل قول: موجود بودن کلاس clsregistry در vb6
تشکر و قدر دانی ویژه از شما اقای واژدی عزیز
فقط یه سوال کوچیک هم داشتم:
ایا این کدی نوشتید معادل 2خط کد زیرین است:(private reg as new wshshell)
dim a as wshshell
set a=new wshshell
نقل قول: موجود بودن کلاس clsregistry در vb6
بله یکسان هستند، در واقعPrivate reg As New WshShell مستقیما" شی را در حافظه ایجاد میکند، اما توسط مورد دوم، میتوانیم شی را فقط در مواقع نیاز ایجاد و پس از اتمام از حافظه حذف کنیم
موفق باشید
1 ضمیمه
نقل قول: موجود بودن کلاس clsregistry در vb6
سلام
ماژولي كه ضميمه كردم شامل دستورات قابل استفاده در VB6 براي استفاده از رجيستري ويندوز XP مي باشد
توجه كنيد كه دستورات در واقع از همان AdvApi32.Dll استفاده مي كنند
نقل قول: موجود بودن کلاس clsregistry در vb6
سلام
برای خواندن یک فایل ریجستری در ویندوز 64 بیتی از چه کدی میتوان استفاده کرد؟
دستور reg.RegRead در ویندوز 64 بیتی کاربرد نداره!!!
کدی میخوام که هم بشه ازش توی ویندوز 32 بیتی و هم 64 بیتی برای خواندن یک key در ریجستری و نشان دادن آن مقدار در تکست باکس استفاده کرد.
مرسی
نقل قول: موجود بودن کلاس clsregistry در vb6
یعنی کسی نیست جواب بده؟
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!
لطفا!