PDA

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



shahabbasic
جمعه 21 بهمن 1390, 15:41 عصر
فرض کنید در یک مسیر خاص در رجیستری کلیدی به اسم Light از نوع SZ وجود داره که از قبل ساخته شده. اگر بخوام مقداری رو توش قرار بدم این کار با چه کدی انجام پذیره؟
این کلید در گروه اصلی Hkey_local_machine قرار داره

محسن واژدی
جمعه 21 بهمن 1390, 16:19 عصر
سلام علیکم
ماژول زیر را به برنامه تون وارد کنید

نمونه استفاده هم:

SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft", "MyData", "123"


موفق باشید

shahabbasic
جمعه 21 بهمن 1390, 16:44 عصر
ببخشید من این کار رو کردم با همین مثال شما ولی قاعدتا باید در مسیر
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
و در کلید mydata مقدار 123 رو قرار بده اما بجای اون مسیر در مسیر زیر و در کلید mydata مقدار 123 رو قرار میده
HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft
میشه راهنمایی بفرمایید

shahabbasic
جمعه 21 بهمن 1390, 18:30 عصر
کسی نبود جواب بده؟؟؟؟

محسن واژدی
جمعه 21 بهمن 1390, 18:41 عصر
میبخشید، متاسفانه ویندوز بنده 64bit نیست نمیتوانم تست کنم،

shahabbasic
جمعه 21 بهمن 1390, 19:21 عصر
خواهشا یکی از دوستان که ویندوزش 64 بیته اینو تست کنه

shahabbasic
شنبه 22 بهمن 1390, 13:38 عصر
چرا این کد هیچ مقداری رو در کلید قرار نمیده؟

محسن واژدی
شنبه 22 بهمن 1390, 14:58 عصر
سلام،
کد مشکلی ندارد، البته چون برخی از کلید های HKLM محافظت شده هستند نمیتوانیم داده ای از آنها را حذف یا تغییر دهیم
موفق باشید

shahabbasic
شنبه 22 بهمن 1390, 15:30 عصر
سلام،
کد مشکلی ندارد، البته چون برخی از کلید های HKLM محافظت شده هستند نمیتوانیم داده ای از آنها را حذف یا تغییر دهیم
موفق باشید
یعنی به این خاطر هست که wow6432node به مسیر اضافه میشه؟

محسن واژدی
شنبه 22 بهمن 1390, 19:20 عصر
یعنی به این خاطر هست که wow6432node به مسیر اضافه میشه؟

سلام
البته افزوده شدن کلید wow6432node به دلیل محافظت از HKLM نیست (البته برخی از کلیدها)
اینطور که مشاهده کردم در ویندوز 64bit زمانی که برنامه های 32bit سعی در تغییر داده ای از مسیر "HKEY_LOCAL_MACHINE\SOFTWARE" میکنند بصورت خودکار به مسیر wow6432node در این شاخه منتقل میشوند، به عنوان مثال اگر قصد افزوده داده ای در مسیر "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" داشته باشیم، ویندوز مسیر را به "HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft تغییر میدهد، که این مورد فقط در برنامه های 32bit و فقط در HKLM میباشد

موفق باشید

shahabbasic
شنبه 22 بهمن 1390, 20:32 عصر
سلام
البته افزوده شدن کلید wow6432node به دلیل محافظت از HKLM نیست (البته برخی از کلیدها)
اینطور که مشاهده کردم در ویندوز 64bit زمانی که برنامه های 32bit سعی در تغییر داده ای از مسیر "HKEY_LOCAL_MACHINE\SOFTWARE" میکنند بصورت خودکار به مسیر wow6432node در این شاخه منتقل میشوند، به عنوان مثال اگر قصد افزوده داده ای در مسیر "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft" داشته باشیم، ویندوز مسیر را به "HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft تغییر میدهد، که این مورد فقط در برنامه های 32bit و فقط در HKLM میباشد

موفق باشید
برنامه هایی که با وی بی نوشته میشن 32 بیت هستن؟ نمیشه 64 بیتشون کرد؟
یعنی هیچ راهی نداره؟

محسن واژدی
شنبه 22 بهمن 1390, 21:16 عصر
نه متاسفانه در وی بی6 نمیتوانیم برنامه های 64bitیی بنویسیم
موفق باشید

shahabbasic
شنبه 22 بهمن 1390, 21:49 عصر
در سیستم 32 بیتی که مسیر تغییر نمیکنه؟

محسن واژدی
دوشنبه 24 بهمن 1390, 16:36 عصر
سلام
در سیستم های 32 بیتی مشکلی ندارد، البته این مورد در ویندوز 64 بیت هم فقط در hklm وجود دارد

موفق باشید