Buongiorno, sono sempre io xD
avevo creato una piccola applicazione console che rileva le informazioni basilari del pc, l'unico difetto è che tendo ad essere precisino, ma la tabulazione mi turba molto e non ho idea come risolvere...
 Console.Clear()
        Console.WriteLine("".PadRight(126, "*"c))
        MyOBJ = GetObject("WinMgmts:").instancesof("Win32_Processor")
        Dim wmi As Object = GetObject("WinMgmts:")
        For Each cpu In MyOBJ
            Dim cpuTrimm As String = Trim(cpu.name)
            Console.WriteLine($"Processore:{vbTab}{cpuTrimm,15:g}")
            Console.WriteLine($"Mhz:{vbTab}{cpu.CurrentClockSpeed,15:f}")
            Console.WriteLine($"Thread:{vbTab}{Environment.ProcessorCount,15:d}")
            Console.WriteLine($"Ram:{vbTab}{ram,15:d} Kb ({ram / 1024 / 1024 / 1024: 0.000} Gb)")
        Next
       Dim objCS As Management.ManagementObjectSearcher
    Dim manufacturerName As String
        Dim mboardstr As String = Nothing
        Dim mbs As ManagementObjectSearcher = New ManagementObjectSearcher("Select * From Win32_BaseBoard")
        For Each mo As ManagementObject In mbs.Get
            mboardstr = mboardstr + mo("SerialNumber").ToString
        Next
        Dim mb As String
        Using searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM Win32_BaseBoard")
            For Each queryObj As ManagementObject In searcher.Get()
                mb = queryObj.GetPropertyValue("Product").ToString
                Exit For
            Next
        End Using
        Console.WriteLine($"Scheda madre:{vbTab}{mb,15:g}")
        Console.WriteLine($"Seriale:{vbTab}{mboardstr,15:g}")
        Console.WriteLine("".PadRight(50, "="c))
        For Each mo As ManagementObject In searcher.[Get]()
            For Each [property] As PropertyData In mo.Properties
                If [property].Name = "Description" Then
                    graphicsCard += [property].Value.ToString()
                    Console.WriteLine($"Scheda Grafica:{vbTab}{graphicsCard,15:g}")
                End If
            Next
        Next
        Console.Beep()
        Console.WriteLine("".PadRight(126, "*"c))
fin qui non trovo nulla di anomalo testo col mio pc da lavoro, non è al ordine, ma quando provo col altro pc non va, e volevo sapere se c'è un modo finche venga tutto in ordine in maniera automatica 
Ah inoltre volevo sapere se è possibile allineare la descrizione tecnica verso destra tipo cosi:
 
 
   Pocessore:
   Frequenza:
      Thread:
        
Ah inoltre volevo aggiungere:
If graphicsCard = 1 Then
        Else
' da indice di quanti schede video ci sono tipo 
' Scheda Grafica(1): NVIDIA GeForce GTX 1660 Ti
'Scheda Grafica(2): NVIDIA GeForce GTX 1660 Ti
        End If
ma non so come inserire nel ciclo for each con index
Allegati:
30764_79c104bd18c646585e96624506938521.png
30764_7ac1e5fdeec8adcbbd2302e9df12df61.png