VB Lettura variabili d'ambiente VB.NET

System_error

Utente Electrum
11 Aprile 2012
350
69
24
187
Buonasera a tutti, sto cercando di scrivere un programma in vb.net che una volta avviato mostri tutti i programmi che si trovano in avvio automatico così da poter scegliere se rimuoverli o se aggiungerne altri.Sono riuscito a scrivere un frammento di codice che mi permette di ricercare il nome di una determinata variabile per controllare se si trova in avvio automatico o no.

Dim value As String
value = Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", TextBox1.Text, "NonEsiste")
If Value = "NonEsiste" Then
MsgBox("Non esiste")
End If

Io però vorrei che all'avvio del programma mi venisse caricato dentro una listbox l'elenco di tutti i programmi che stanno in avvio automatico. Leggendo su internet ho trovato una discussione in cui dicevano che era possibile ricavare il nome di una variabile a una determinata riga di una cartella presente in regedit, ma purtroppo non riesco a trovare il codice.
Un altro problema è che ho notato che non tutte le variabili dell'avvio automatico si trovano nello stesso percorso, alcune si trovano in HKLM (HKEY LOCAL MACHINE), altre in HKCU (HKEY CURRENT USER), altre in startup.
Qualcuno sa se ci sono altre cartelle in cui si salvano i programmi per l'avvio automatico? Come posso risolvere il mio problema? grazie mille a tutti