IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

acces aux infos system et aux hardware


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut acces aux infos system et aux hardware
    Bonjour en vb2022,
    je desire avoir acces aux infos system pour faire un recapitulatif (sans utiliser cpuid ou autre api)

    qui me permettent d'avoir :
    • caracteristique du proc
    • caracteristique de la carte mere
    • caracteristique de la carte graphique
    • caracteristique de la memoire
    • caracteristique des ventilos
      et leurs vitesses
    • infos sur les disques (dur/ssd/d7/cd/dvd/autres
    • infos sur les cartes reseaux
    • infos sur les reseaux et internet


    Pouvez vous me dire ou je peux trouver ceci ?
    Windows.System ?

    ou autres ? a moins que les infos se trouvent un peu partout et dans ce cas pouvez vous m aider a les trouver ?

    Je vous remercie ^^
    Marc

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    wmi utilisable via system.management je crois
    en tapant wmi vb.net dans google tu devrais trouver des exemples
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éprouvé Avatar de excalybur
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2014
    Messages : 317
    Par défaut
    Bonjour,

    Ta question est très intéressante ! Avec les WMI ça marche nickel. Si tu est sur une version VS2022 ne disposant pas de System.Management il te suffit de l'importer depuis Nuget. Je rappel la procédure : cliquez avec le bouton droit sur votre projet dans l'explorateur de solutions puis sélectionnez Gérer les packages NuGet.... puis dans l'onglet Parcourir, recherchez System.Management et sélectionnez le package System.Management et cliquez sur Installer.

    Je te propose ce code qui fonctionne pour tout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    Imports System.Management
     
    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim systemInfo As String = ""
     
            ' Informations sur le processeur
            systemInfo &= GetProcessorInfo() & vbCrLf
     
            ' Informations sur la carte mère
            systemInfo &= GetMotherboardInfo() & vbCrLf
     
            ' Informations sur la carte graphique
            systemInfo &= GetGraphicsCardInfo() & vbCrLf
     
            ' Informations sur la mémoire
            systemInfo &= GetMemoryInfo() & vbCrLf
     
            ' Informations sur les disques
            systemInfo &= GetDiskInfo() & vbCrLf
     
            ' Informations sur les cartes réseaux
            systemInfo &= GetNetworkAdapterInfo() & vbCrLf
     
          ' Informations sur les réseaux et internet
          systemInfo &= GetNetworkInfo() & vbCrLf
     
            ' Afficher toutes les informations dans une seule boîte de message
            MessageBox.Show(systemInfo, "Informations Système")
        End Sub
     
        Private Function GetProcessorInfo() As String
            Dim info As String = "Processeur:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_Processor")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Nom: " & obj("Name") & vbCrLf &
                        "  Nombre de cœurs: " & obj("NumberOfCores") & vbCrLf &
                        "  Vitesse: " & obj("MaxClockSpeed") & " MHz" & vbCrLf
            Next
            Return info
        End Function
     
        Private Function GetMotherboardInfo() As String
            Dim info As String = "Carte mère:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_BaseBoard")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Produit: " & obj("Product") & vbCrLf &
                        "  Fabricant: " & obj("Manufacturer") & vbCrLf
            Next
            Return info
        End Function
     
        Private Function GetGraphicsCardInfo() As String
            Dim info As String = "Carte graphique:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_VideoController")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Nom: " & obj("Name") & vbCrLf &
                        "  Mémoire: " & obj("AdapterRAM") & " bytes" & vbCrLf
            Next
            Return info
        End Function
     
        Private Function GetMemoryInfo() As String
            Dim info As String = "Mémoire:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_PhysicalMemory")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Capacité: " & obj("Capacity") & " bytes" & vbCrLf &
                        "  Vitesse: " & obj("Speed") & " MHz" & vbCrLf
            Next
            Return info
        End Function
     
        Private Function GetDiskInfo() As String
            Dim info As String = "Disques:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_DiskDrive")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Modèle: " & obj("Model") & vbCrLf &
                        "  Type: " & obj("MediaType") & vbCrLf &
                        "  Capacité: " & obj("Size") & " bytes" & vbCrLf
            Next
            Return info
        End Function
     
        Private Function GetNetworkAdapterInfo() As String
            Dim info As String = "Cartes réseau:" & vbCrLf
            Dim searcher As New ManagementObjectSearcher("select * from Win32_NetworkAdapter where NetEnabled=true")
            For Each obj As ManagementObject In searcher.Get()
                info &= "  Nom: " & obj("Name") & vbCrLf &
                        "  Adresse MAC: " & obj("MACAddress") & vbCrLf
            Next
            Return info
        End Function
     
      Private Function GetNetworkInfo() As String
        Dim info As String = "Réseaux et internet:" & vbCrLf
        Dim searcher As New ManagementObjectSearcher("select * from Win32_NetworkAdapterConfiguration where IPEnabled=true")
        For Each obj As ManagementObject In searcher.Get()
            Dim ipAddresses As String() = CType(obj("IPAddress"), String())
            If ipAddresses IsNot Nothing Then
                info &= "  Adresse IP: " & String.Join(", ", ipAddresses) & vbCrLf
            End If
        Next
        Return info
    End Function
    End Class
    Tiens nous au courant

    A+

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 10
    Par défaut
    Tu peut aussi simplement parser le retour de commande texte comme ici https://github.com/MhyrAskri/RAM-Usa...moryMetrics.cs
    C'est moins propre mais sa peut être plus versatile pour gérer plusieurs OS avec le même code.

    Commandes Windows

    caracteristique du proc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic cpu get name, caption, numberofcores, maxclockspeed
    caracteristique de la carte mere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic baseboard get product, manufacturer, version
    caracteristique de la carte graphique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path win32_videocontroller get caption, deviceid, videoprocessor, adapterram
    caracteristique de la memoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic memorychip get capacity, speed, manufacturer, devicelocator
    caracteristique des ventilos et leurs vitesses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wmic path win32_fan get caption, status, rpm
    infos sur les disques (dur/ssd/d7/cd/dvd/autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wmic diskdrive get model, mediaType, size, status
    wmic partition get name, size, type
    infos sur les cartes reseaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ipconfig /all
    route print
    Commandes Linux

    caracteristique du proc
    caracteristique de la carte mere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo dmidecode -t baseboard
    caracteristique de la carte graphique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lspci | grep -i vga
    sudo lshw -C display
    eventuelement outils propriétaire ( nvidia-smi ..)

    caracteristique de la memoire
    free -h
    sudo lshw -C memory

    caracteristique des ventilos et leurs vitesses
    (après avoir installé sudo apt install lm-sensors )


    infos sur les disques (dur/ssd/d7/cd/dvd/autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lsblk -o NAME,FSTYPE,SIZE,MODEL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo smartctl -a /dev/sda (pour une paritition)
    infos sur les cartes reseaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lspci | grep -i ethernet
    sudo lshw -C network

Discussions similaires

  1. [Récit-débat] Le vendeur à accès aux infos des cartes bancaires des clients !
    Par Etanne dans le forum La taverne du Club : Humour et divers
    Réponses: 39
    Dernier message: 14/12/2007, 13h33
  2. [COM] Accès aux infos d'un document Word (wdFieldEditTime)
    Par Przybylski dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/11/2007, 16h28
  3. [Système] Droits d'accès aux répertoires
    Par yohan0262 dans le forum Langage
    Réponses: 8
    Dernier message: 08/06/2007, 07h56
  4. Acceder aux infos systemes (procesus, etat mémoire etc)
    Par metalcoyote dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 29/01/2007, 10h29
  5. Réponses: 1
    Dernier message: 11/04/2006, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo