Sono riuscito a fare tutto e funziona alla perfezione
Metto tutte le chiavi del registro in un array:
codice:
Dim RegPercorsi As RegistryKey()
RegPercorsi = New RegistryKey(3) {
My.Computer.Registry.LocalMachine.OpenSubKey("Software\1"),
My.Computer.Registry.LocalMachine.OpenSubKey("Software\2"),
My.Computer.Registry.LocalMachine.OpenSubKey("Software\3")}
Tramite For Each controllo il tutto e stampo ciò che mi serve:
codice:
For Each chiavi As RegistryKey In RegPercorsi
For Each valueName As String In chiavi.GetValueNames()
'fai quel che devi
next
next
Grazie mille! 
PS: Mi è successa una cosa strana...
Io uso CCleaner per sistemare i file in avvio (al posto di MsConfig) ma alla fine è uguale in quanto ho lo stesso risultato con entrambi i programmi.. arrivo al sodo:
Sia Msconfig, sia CCleaner mi vedono in:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run
Quasi 10 programmi...
Se però vado a quel percorso da RegEdit ne vedo solo 1
Perchè tutto ciò??
So che qualcuno penserà che non c'entra con il thread però le chiavi che vado a leggere sono appunto queste quindi anche il programma che ho fatto non mi vede il resto dei programma in avvio ma solo quello che vedo tramite regedit