Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Trovare files d'avvio con visual basic 6?come si fa?
Forum - Visual Basic 6 - Trovare files d'avvio con visual basic 6?come si fa?

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedė, 01/01/1970
ciao a tutti sono un neofita e sto creando un'applicazione in vb6 che cerca i files d'avvio in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run ma come faccio a far sė che  vengano visualizzati in una label e alla pressione di un pulsante venga eliminato quello selezionato...come faccio?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:32
Sabato, 30/08/2008
Per enumerare i valori di una chiave aggiungi al form un command (command1) e una listbox (list1) poi inserisci questo codice:

Codice sorgente - presumibilmente VB.NET

  1. Option Explicit
  2.  
  3.       Private Declare Function RegOpenKeyEx Lib "advapi32.dll" _
  4.           Alias "RegOpenKeyExA" _
  5.           (ByVal hKey As Long, _
  6.           ByVal lpSubKey As String, _
  7.           ByVal ulOptions As Long, _
  8.           ByVal samDesired As Long, phkResult As Long) As Long
  9.  
  10.       Private Declare Function RegEnumValue Lib "advapi32.dll" _
  11.           Alias "RegEnumValueA" _
  12.           (ByVal hKey As Long, _
  13.           ByVal dwIndex As Long, _
  14.           ByVal lpValueName As String, _
  15.           lpcbValueName As Long, _
  16.           ByVal lpReserved As Long, _
  17.           lpType As Long, _
  18.           lpData As Any, _
  19.           lpcbData As Long) As Long
  20.  
  21.       Private Declare Function RegCloseKey Lib "advapi32.dll" _
  22.           (ByVal hKey As Long) As Long
  23.  
  24.       Const HKEY_CLASSES_ROOT = &H80000000
  25.       Const HKEY_CURRENT_USER = &H80000001
  26.       Const HKEY_LOCAL_MACHINE = &H80000002
  27.       Const HKEY_USERS = &H80000003
  28.  
  29.       Const ERROR_SUCCESS = 0&
  30.  
  31.       Const SYNCHRONIZE = &H100000
  32.       Const STANDARD_RIGHTS_READ = &H20000
  33.       Const STANDARD_RIGHTS_WRITE = &H20000
  34.       Const STANDARD_RIGHTS_EXECUTE = &H20000
  35.       Const STANDARD_RIGHTS_REQUIRED = &HF0000
  36.       Const STANDARD_RIGHTS_ALL = &H1F0000
  37.       Const KEY_QUERY_VALUE = &H1
  38.       Const KEY_SET_VALUE = &H2
  39.       Const KEY_CREATE_SUB_KEY = &H4
  40.       Const KEY_ENUMERATE_SUB_KEYS = &H8
  41.       Const KEY_NOTIFY = &H10
  42.       Const KEY_CREATE_LINK = &H20
  43.       Const KEY_READ = ((STANDARD_RIGHTS_READ Or _
  44.                         KEY_QUERY_VALUE Or _
  45.                         KEY_ENUMERATE_SUB_KEYS Or _
  46.                         KEY_NOTIFY) And _
  47.                         (Not SYNCHRONIZE))
  48.  
  49.       Const REG_DWORD = 4
  50.       Const REG_BINARY = 3
  51.       Const REG_SZ = 1
  52.  
  53.       Private Sub Command1_Click()
  54.          Dim lngKeyHandle As Long
  55.          Dim lngResult As Long
  56.          Dim lngCurIdx As Long
  57.          Dim strValue As String
  58.          Dim lngValueLen As Long
  59.          Dim lngData As Long
  60.          Dim lngDataLen As Long
  61.          Dim strResult As String
  62.  
  63.          lngResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _
  64.                  "Software\Microsoft\Windows\CurrentVersion\Run", _
  65.                   0&, _
  66.                   KEY_READ, _
  67.                   lngKeyHandle)
  68.  
  69.          If lngResult <> ERROR_SUCCESS Then
  70.              MsgBox "Cannot open key"
  71.              Exit Sub
  72.          End If
  73.  
  74.          lngCurIdx = 0
  75.          Do
  76.             lngValueLen = 2000
  77.             strValue = String(lngValueLen, 0)
  78.             lngDataLen = 2000
  79.  
  80.             lngResult = RegEnumValue(lngKeyHandle, _
  81.                                      lngCurIdx, _
  82.                                      ByVal strValue, _
  83.                                      lngValueLen, _
  84.                                      0&, _
  85.                                      REG_DWORD, _
  86.                                      ByVal lngData, _
  87.                                      lngDataLen)
  88.             lngCurIdx = lngCurIdx + 1
  89.  
  90.          If lngResult = ERROR_SUCCESS Then
  91.             strResult = lngCurIdx & ": " & Left(strValue, lngValueLen)
  92.             List1.AddItem strResult
  93.          End If
  94.  
  95.          Loop While lngResult = ERROR_SUCCESS
  96.          Call RegCloseKey(lngKeyHandle)
  97.       End Sub



Per cancellare una chiave dal registro:
Codice sorgente - presumibilmente Visual Basic 6

  1. Dim wsh
  2. Set wsh = CreateObject("WScript.Shell")
  3. wsh.regdelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\NomeChiave"


PM Quote