PDA

View Full Version : سوال: لیست کردن زیر کلید های رجیستری در یک list box در ویژوال؟؟؟



saji777
دوشنبه 06 شهریور 1391, 23:46 عصر
سلام

من میخوام برنامه ای رو بنویسم که ایدی های که در یک سیستم انلاین شده رو لیست کنه
که در این مسیر قرار داره
HKEY_CURRENT_USER\Software\yahoo\Profiles
حالا چجوری باید اون زیر کلید هارو که نام ای دی هاست رو لیست کنم ؟؟؟؟

بهروز عباسی
سه شنبه 07 شهریور 1391, 00:16 صبح
درود
دوست عزیز تواین تاپیک (http://barnamenevis.org/showthread.php?357887-%D8%B3%D8%A7%D8%AE%D8%AA%D9%86-%D8%A8%DA%A9-%D9%84%DB%8C%D8%B3%D8%AA-%D8%A7%D8%B2-%D8%B2%DB%8C%D8%B1-%DA%A9%D9%84%DB%8C%D8%AF%D9%87%D8%A7%DB%8C-%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C) پاسخ دادم که.
بگو کجای کار مشکل داری
موفق باشید.

saji777
سه شنبه 07 شهریور 1391, 00:31 صبح
دوست عزیز میشه رو سورس ها بیشتر توضیح بدین
و توضیح بدین من چجوری key ها رو بدست بیارم و در یک لیست باکس قرار بدم

بهروز عباسی
سه شنبه 07 شهریور 1391, 00:59 صبح
من vb ندارم که تست کنم
ببین این کد اجرا میشه؟

rem code by : Behrooz Abbassi
rem <a href="http://www.Programming-co.com" target="_blank">www.Programming-co.com</a>
Const ERROR_NO_MORE_ITEMS = 259&
Const HKEY_CURRENT_CONFIG = &H80000005
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CURRENT_USER = &H80000001

Private Const REG_BINARY = 3 ' Free form binary
Private Const REG_DWORD = 4 ' 32-bit number
Private Const REG_EXPAND_SZ = 2 ' Unicode nul terminated string
Private Const REG_SZ = 1 ' Unicode nul terminated string

rem API
Private Declare Function RegEnumValue Lib "advapi32.dll" Alias "RegEnumValueA" (ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, lpcbValueName As Long, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

Private Sub Form_Load()

Dim hKey As Long, num As Long, strName As String, _
strData As String, RetVal As Long, RetValData As Long, _
strHKEy As String
Const BUFFER As Long = 255
Me.AutoRedraw = True
num = 0
strName = Space(BUFFER)
strData = Space(BUFFER)

RetVal = BUFFER
RetValData = BUFFER
strHKEy = "Software\yahoo\Profiles"
If RegOpenKey(HKEY_CURRENT_USER, strHKEy, hKey) = 0 Then
Rem vb
While RegEnumValue(hKey, num, strName, RetVal, 0, ByVal 0&, ByVal strData, RetValData) <> ERROR_NO_MORE_ITEMS ' L1st_StartupItem.ListItems.Add().SubItems(2) = strHKEy
If RetValData > 0 Then
listbox1.additem(strName)
End If
num = num + 1
strName = Space(BUFFER)
strData = Space(BUFFER)

RetVal = BUFFER
RetValData = BUFFER
Wend
RegCloseKey hKey
Else
listbox1.AddItem "Error"
End If

End Sub

بهروز عباسی
سه شنبه 07 شهریور 1391, 01:02 صبح
اگه کد مشکل داشت یه سری به لینک زیر بزن
How To Enumerate the Values of a Registry Key (http://support.microsoft.com/kb/178755)


موفق باشی.