PDA

View Full Version : کار این کدها چی؟



aleas2
سه شنبه 17 آبان 1390, 11:58 صبح
سلام خسته نباشید دوستان میشه بگین کار این کدها چی و روش استفاده کلا" توضیحات کامل برای هر کدوم بدین؟

کد اول


r = RegCreateKey(HKEY_CURRENT_USER, "SOFTWARE\Information", keyhand)
lDataBufSize = Len(txtName.Text)
strBuf = txtName.Text
r = RegSetValueEx(keyhand, "Name", 0, REG_SZ, ByVal strBuf, lDataBufSize)
r = RegCloseKey(keyhand)

کد دوم



r = RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\Information", keyhand)
Result = RegQueryValueEx(keyhand, "Name", 0, lValueType, ByVal 0, lDataBufSize)
strBuf = String(lDataBufSize, Chr$(0))
r = RegQueryValueEx(keyhand, "Name", 0, REG_SZ, ByVal strBuf, lDataBufSize)
r = RegCloseKey(keyhand)
txtName.Text = Left$(strBuf, InStr(1, strBuf, Chr$(0)))

کد سوم

r = RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\Information", keyhand)
Result = RegQueryValueEx(keyhand, "SendedList", 0, lValueType, ByVal 0, lDataBufSize)
strBuf = String(lDataBufSize, Chr$(0))
r = RegQueryValueEx(keyhand, "SendedList", 0, REG_SZ, ByVal strBuf, lDataBufSize)
r = RegCloseKey(keyhand)
txtSended.Text = Left$(strBuf, InStr(1, strBuf, Chr$(0)))

txtSended.Text = txtSended.Text & Mid(List1.Text, 8, d - 18) & " " & "+" & " "

r = RegCreateKey(HKEY_CURRENT_USER, "SOFTWARE\Information", keyhand)
lDataBufSize = Len(txtSended.Text)
strBuf = txtSended.Text
r = RegSetValueEx(keyhand, "SendedList", 0, REG_SZ, ByVal strBuf, lDataBufSize)
r = RegCloseKey(keyhand)

کد چهارم


r = RegOpenKey(HKEY_CURRENT_USER, "SOFTWARE\Microsoft\System", keyhand)
Result = RegQueryValueEx(keyhand, "System", 0, lValueType, ByVal 0, lDataBufSize)
strBuf = String(lDataBufSize, Chr$(0))
r = RegQueryValueEx(keyhand, "System", 0, REG_SZ, ByVal strBuf, lDataBufSize)
r = RegCloseKey(keyhand)
If strBuf = "" Then GoTo null4
a7 = Left$(strBuf, InStr(1, strBuf, Chr$(0)) - 1)

kitcat_m18
سه شنبه 17 آبان 1390, 16:45 عصر
تمامي اين کدها در حقيقت يک هدف را دنبال مي کنند: کار با رجيستري
با دستور RegCreateKey يک کليد در مسير مشخص شده ايجاد مي شود(مي توان مقدار کليد را در همان تابع مقدار دهي هم کرد)
با دستور RegOpenKey مقدار يک کليد را از رجيستري مي خوانيم
ساير دستورات هم مانند RegQueryValueEx و RegCloseKey با قرار گرفتن تابع کارشون مشخص ميشه (البته کارشون از اسمشون هم تقريبا مشخصه)

شما مي توني از دو دستور ساده ت يعني SaveSetting و GetSetting به جاي اين کد ها استفاده کني.

موفق باشي

aleas2
سه شنبه 17 آبان 1390, 18:04 عصر
بنده سورسی خریدم که دارم روش کار کردم از چنین کدهایی داخلش استفاده شده ولی من قبلا با چنین کدهایی کار نکردم برای اینکه بتونم برنامه رو بهینه کنم باید بدونم این کدها دقیقا" چه کاری میکنه همینطور خودم بتونم از این کدها استفاده کنم برای یادگیری شما تاپیکی میشناسین که توضیح داده باشه؟

kitcat_m18
سه شنبه 17 آبان 1390, 23:36 عصر
ببين اين کد ها به احتمال قوي توي يه کلاس يا ماژول تو برنامه اي که داري نوشته شده اند و از اونجا راخواني ميشن.

اون ماژول رو تحليل کني مشکلت حل ميشه.

براي خود من هم سواله وقتي که خود VB امکان کار با رجيستري رو قرار داده باز چرا از اين کدها استفاده مي کنن؟؟؟ :متفکر: