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
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.