PDA

View Full Version : عوض کردن مقدار ریجیستری



vB.N3T
پنج شنبه 15 اردیبهشت 1390, 20:33 عصر
سلام دوستان اگه بخوایی مقداری رو تو رجیستری مثلا از 100 به 200 تغیر بدی باید چیکار کنی

؟

ali.rezaei7
پنج شنبه 15 اردیبهشت 1390, 20:40 عصر
از تابع RegSetValueEx استقاده می کنیم.(Windows API)
سوالتون خیلی تکراریه اگه تو سایت جستجو کنید کلی مطلب گیرتون میاد.

محسن واژدی
پنج شنبه 15 اردیبهشت 1390, 21:46 عصر
سلام علیکم
http://barnamenevis.org/attachment.php?attachmentid=53552&d=1280841953

موفق باشید

vB.N3T
جمعه 16 اردیبهشت 1390, 01:13 صبح
این برنامه عالی بود

ممنون میشم یه بار دیگه راهنممایی کنید

مثلا ما یه باتون داریم وقتی روش کلیک میکنیم
مقدار

HKEY_CURRENT_USER/CONSOL/COLOR TABLE

مثلا این ادرس مقدار value صفر هست وقتی ما کلیک کردیم بشه 1

محسن واژدی
جمعه 16 اردیبهشت 1390, 08:47 صبح
این برنامه عالی بود

ممنون میشم یه بار دیگه راهنممایی کنید

مثلا ما یه باتون داریم وقتی روش کلیک میکنیم
مقدار

HKEY_CURRENT_USER/CONSOL/COLOR TABLE

مثلا این ادرس مقدار value صفر هست وقتی ما کلیک کردیم بشه 1

برای این کار از الگوی دستوری زیر استفاده کنید،

SaveString HKEY_CURRENT_USER,"CONSOL","COLOR TABLE",1


موفق باشید

vB.N3T
جمعه 16 اردیبهشت 1390, 14:46 عصر
من از این کد استفاده میکنم اما کامپایل عرور میده

SaveSetting HKEY_LOCAL_MACHINE, "SYSTEM", "control", "windows", CSDversion, 200

Mr'Jamshidy
جمعه 16 اردیبهشت 1390, 15:32 عصر
من از این کد استفاده میکنم اما کامپایل عرور میده

SaveSetting HKEY_LOCAL_MACHINE, "SYSTEM", "control", "windows", CSDversion, 200

هه هه D:
ببین دوست من خوب باید هم ارور بده
اینو ببین
Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strdata As String)

اول از همه SaveString نه SaveSetting
SaveSetting ماله خود ویژوال بیسیکه و دوم تعداد آرگومان هایی که شما نوشتی 2 تا بیشتر از آرگومان هایی هست که برای تابع تعریف شده
کدی که شما نوشتی اصلش اینه
SaveString HKEY_LOCAL_MACHINE, "SYSTEM\control\windows", CSDversion, 200

این مسیری که شما دادی رو من تو رجیستری خودم پیدا نکردم شما هم چک کن اگر این مسیر رو پیدا نکردی باید قبل از ذخیره متغیرت اول مسیرش رو بسازی بعد خود متغیر

موفق باشی

vB.N3T
جمعه 16 اردیبهشت 1390, 17:04 عصر
مسیر اصلی اینه


HKEY_LOCAL_MACHINE, "system\currentcontrolset\control\windows", CSDversion, 200


عکس ضمینه رو نگاه کن مقدار dword هست69607

وقتی اجرا میکنم عرور By Ref argument type mismactch میده

Mr'Jamshidy
جمعه 16 اردیبهشت 1390, 17:23 عصر
خوب این چیزی که من میبینم اصلا از SaveString نباید استفاده کنی باید از SaveValue استفاده کنی
SaveString برای ذخیره متن و SaveValue برای ذخیره عدد

و اما برای By Ref argument type mismactch فکر کنم آرگومان تابع تعریف شده رو باید ByVal تعریف کنی

اگر باز هم مشکل داشتی بگو تا برات سورس آپ کنم

vB.N3T
شنبه 17 اردیبهشت 1390, 01:13 صبح
میشه اصلاحش کنید اجرا نمیشه


Public Sub Savevalue(hKey As Long, strPath As String, strValue As String, strdata As String)

End Sub

Private Sub Command1_Click()
Savevalue , "system\currentcontrolset\control\windows", CSDversion, 400
End Sub

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 02:55 صبح
موفق باشید

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 03:02 صبح
میشه اصلاحش کنید اجرا نمیشه


Public Sub Savevalue(hKey As Long, strPath As String, strValue As String, strdata As String)

End Sub

Private Sub Command1_Click()
Savevalue , "system\currentcontrolset\control\windows", CSDversion, 400
End Sub


در ضمن ببخشید یادم رفت
اگر تو برنامه تون از همین کد استفاده میکنید باید یک ایرادی از کدتون بگیرم

Savevalue , "system\currentcontrolset\control\windows", CSDversion, 400

نام متغیر ها در رجیستری از نوع String هستن پس CSDversion اشتباهه و از "CSDversion" این باید استفاده کنید
بعدشم شما تو این کد شاخه اصلی رو انتخاب نکردید (HKEY_Local_Machin, or etc)

اما این نمونه ای که گذاشتم درست کار میکنه خودم امتحان کردم فقط یک چیزی

اگر از ویندوز سون(7) استفاده میکنید:
اگر در حالت Debug برنامه رو اجرا میکنید VB رو از طریق Run as Administrator اجرا کنید و اگر برنامه رو کامپایل میکنید فایل کامپایل شده رو از این طریق باز کنید تا احیانن مشکلی پیش نیاد

موفق باشید

vB.N3T
شنبه 17 اردیبهشت 1390, 17:41 عصر
این کدی که دادید اصلا این کاری که من میخوام رو انجام نمیده ؟

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 21:19 عصر
این کدی که دادید اصلا این کاری که من میخوام رو انجام نمیده ؟

میتونم بپرسم شما چه کاری میخواید انجام بدید؟ که این سورس نمیتونه؟

vB.N3T
شنبه 17 اردیبهشت 1390, 22:01 عصر
همین مسیر که دادم مثلا مقدار 200 رو بکنه 300 همین..

محسن واژدی
شنبه 17 اردیبهشت 1390, 22:27 عصر
میشه اصلاحش کنید اجرا نمیشه


Public Sub Savevalue(hKey As Long, strPath As String, strValue As String, strdata As String)

End Sub

Private Sub Command1_Click()
Savevalue , "system\currentcontrolset\control\windows", CSDversion, 400
End Sub


کدتون را بصورت زیر ویرایش کردم برای جلوگیری از خطای ByRef البته فرض را بر این گذاشته ام که مابقی توابع را دارید


Public Sub Savevalue(ByVal hKey As Long, ByVal strPath As String, ByVal strValue As String, ByVal strdata As String)

End Sub

Private Sub Command1_Click()
Savevalue , "system\currentcontrolset\control\windows", "CSDversion", 400
End Sub

موفق باشید

Mr'Jamshidy
شنبه 17 اردیبهشت 1390, 22:52 عصر
دوست عزیز این محیط برنامس
69657
اگر دقت کنی نوشتم تو چه مسیر هایی فایل ایجاد میکنه
حالا برو داخل قسمت کد ادیتور و این خط رو پیدا کن
Private Sub Command3_Click()
SaveDword HKEY_LOCAL_MACHINE, "Software\MyApp", "DWORD", 123456
End Sub

و "Software\MyApp" رو به "system\currentcontrolset\control\windows" تغییر بده
و بعد "DWORD" رو به "CSDversion" و در آخر 123456 رو به مقدار مورد نظر تقییر بده

موفق باشید

alih4cker
دوشنبه 09 مرداد 1391, 01:22 صبح
سلام دوست عزیز !

حالا اگه بخوایم مقدار یه DWORD رو بخونیم باید چه کار کنیم ؟

alih4cker
دوشنبه 09 مرداد 1391, 01:33 صبح
یه چیزی مثل این !

که البته فایل ضمیمه فقط مقدار string ها رو میده !

من واسه DWORD ها میخوام !