PDA

View Full Version : سوال: ساختن بک لیست از زیر کلیدهای رجیستری



saji777
جمعه 03 شهریور 1391, 17:20 عصر
سلام

من میخواستم یه برنامه بنویسم با ویژوال بیسیک 6
و نیاز دارم زیر کلید های که در رجیستری ساخته میشه رو در یک لیست باکس .لیست کنم
میشه من را راهنمایی کنید واسه انجام این کار ؟

بهروز عباسی
جمعه 03 شهریور 1391, 19:41 عصر
درود
rem code by : Behrooz Abbassi
rem www.Programming-co.com
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()
With cboRoot
.AddItem "HKEY_LOCAL_MACHINE", 0
.AddItem "HKEY_CURRENT_USER", 1
.ListIndex = 0
End With

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

RetVal = BUFFER
RetValData = BUFFER
strHKEy = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
If RegOpenKey(HKEY_LOCAL_MACHINE, 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
strStartupItem = Left$(strName, RetVal)
strCommand = Left$(strData, RetValData - 1)
If RetValData > 0 Then
Lst_StartupItem.ListItems.Add(, , strStartupItem).SubItems(1) = strCommand
End If
num = num + 1
strName = Space(BUFFER)
strData = Space(BUFFER)

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

End Sub



موفق باشی

بهروز عباسی
جمعه 03 شهریور 1391, 21:54 عصر
اینم ببین
http://barnamenevis.org/showthread.php?338070-%D9%BE%DB%8C%D8%AF%D8%A7-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B2%DB%8C%D8%B1-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%DB%8C%DA%A9-%DA%A9%D9%84%DB%8C%D8%AF-%D8%B1%D8%AC%DB%8C%D8%B3%D8%AA%D8%B1%DB%8C

موفق باشی