domenica 31 maggio 2026

C# Windows Forms, rilevare le informazioni della scheda grafica del pc

Nel linguaggio di programmazione C#, se abbiamo necessità di conoscere le informazioni  della scheda grafica, possiamo utilizzare la classe ManagementObjectSearcher, per ottenere tali informazioni.

Il frammento di codice qui di seguito, in un progetto Windows Forms, rileva informazioni riguardante il nome, la memoria i driver ed il produttore.

Di seguito si riporta la dichiarazione dello spazio dei nomi, per utilizzare la classe MOS, 

C#
using System.Management;



Di seguito si riporta la funzione per trasformare in unità di misura il dato riguardante la memoria che viene rilevata.


C#
private string FormatBytes(long bytes)
{
    string[] sizes = { "B", "KB", "MB", "GB", "TB" };
    double len = bytes;
    int order = 0;
    while (len >= 1024 && order < sizes.Length - 1)
    {
        order++;
        len /= 1024;
    }
    return $"{len:0.##} {sizes[order]}";
}


Mentre qui di seguito, si riporta la funzione per rilevare le informazioni della scheda grafica.


C#

private void SchedaGrafica()

{

 

    try

    {

        var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");

        string descrizione = "";

        foreach (ManagementObject obj in searcher.Get())

        {

 

            descrizione += $"Scheda grafica: {obj["Name"]}" ;

            descrizione += $"  Memoria video: {FormatBytes(Convert.ToInt64(obj["AdapterRAM"]))}";

            descrizione += $"  Driver: {obj["DriverVersion"]}";

            descrizione += $"  Produttore: {obj["AdapterCompatibility"]}";

        }

        txtSchedaGrafica.Text = descrizione;

    }

    catch (Exception ex)

    {

        MessageBox.Show("Errore durante la lettura dei dati WMI: " + ex.Message);

    }

 

 

 

 

 

}

 


Nessun commento: