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 :

detection cpu et matériel


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2004
    Messages : 157
    Par défaut detection cpu et matériel
    Bonjour à tous,

    Mon problème est le suivant, on m'a demander de faire une application qui irait chercher sur toute les machines du parc informatique, le modele et le nombre de cpu et si possible la configuration hardware.

    J'ai rencontré pas mal d'information sur le WMI parlant d'acceder au registre a distance mais sans trops d'explication.

    Je me demandais si quelqu'un aurait deja eu se genre de probleme et pouvait m'orienter.

    résumé.

    1. detection des pcs du parc et lister les ips avec nom de machine si possible.
    2. acceder a ses machines pour en extraire la clé:
    HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
    "ProcessorNameString"
    (si le centralProcessor contient plusieurs repertoir 0,1 ... sela signifierait qu'il y a plusieurs cpu et je dois donc le savoir. Je ne pense pas que les cpu peuvent etre différent donc le nombre et le modele me suffit emplement.

    Merci d'avance pour vos idées

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tu peux aussi regarder du côté de SNMP.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Salut, j'ai fait un programme il y a logntemps sur ce theme. Tu trouvera ton bonheur. Par contre je te préviens, le code est pourri (car il date de deux ans ce programme et non niveau de programmation était.... à chier).

    Cependant, tu verras comment utiliser le namespace "System.Management"
    Fichiers attachés Fichiers attachés
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2004
    Messages : 157
    Par défaut
    Grand merci a vous deux je tests tout ça.

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Tiens nous au courant et poste (stp) la solution retenue, ça pourra aider ceux qui ont le même problème que toi.
    Merci.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2004
    Messages : 157
    Par défaut
    J'avais juste besoin des configuration minimale.
    j'ai donc refait des objets des différents composants.

    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
     
    Public Class Ordinateur
        Private _name As String
        Private _Ip As String
        Private _Processeurs As New List(Of Processeur)
        Private _Ram As New List(Of Ram)
        Private _Graphics As New List(Of CarteGraphique)
        Private _Bios As New List(Of Bios)
        Private _Son As New List(Of CarteAudio)
        Private _lecteursCd As New List(Of LecteurCD)
     
     Public Sub New()
            Me._name = My.Computer.Name.ToString
            Me._Ip = "10.11.0.1"
            '***************************
            'Recherche des processeurs *
            '***************************
     
            Dim sys As New ManagementObjectSearcher("Select * from Win32_Processor")
            Dim infoProcesseur As ManagementObject
     
            For Each infoProcesseur In sys.Get()
                Try
                    Me._Processeurs.Add(New Processeur(infoProcesseur("Name").ToString(), infoProcesseur("Description").ToString(), infoProcesseur("CurrentClockSpeed").ToString(), _
                                                                   infoProcesseur("L2CacheSize").ToString(), infoProcesseur("SocketDesignation").ToString(), infoProcesseur("Manufacturer").ToString()))
                Catch ex As Exception
                    Throw New Exception("Problem in Cpu module")
                End Try
     
     
            Next
     
            '***************************
            'Recherche des memoires    *
            '***************************
            Dim Sys1 As New ManagementObjectSearcher("Select * from Win32_ComputerSystem")
            Dim info As ManagementObject
            For Each info In Sys1.Get()
                Me._Ram.Add(New Ram(CInt(info("TotalPhysicalMemory").ToString) \ 1000000, info("Description").ToString))
            Next
     
            '***************************
            'Recherche des bios        *
            '***************************
            Dim req As New SelectQuery("Win32_bios")
            Dim sys2 As New ManagementObjectSearcher(req)
            Dim info1 As ManagementObject
     
            For Each info1 In sys2.Get()
                Me._Bios.Add(New Bios(info1("version").ToString()))
            Next
     
            '***************************
            'Recherche des Lecteur CD  *
            '***************************
            Dim Rom As New SelectQuery("Win32_CDROMDrive")
            Dim sys3 As New ManagementObjectSearcher(Rom)
            Dim info2 As ManagementObject
     
            For Each info2 In sys3.Get()
                Me._lecteursCd.Add(New LecteurCD(info2("Name").ToString(), info2("Drive").ToString(), info2("MediaType").ToString())) 
            Next
     
            '***************************
            'Recherche des Audio       *
            '***************************
            Dim Sound As New SelectQuery("Win32_SoundDevice")
            Dim sys4 As New ManagementObjectSearcher(Sound)
            Dim info3 As ManagementObject
            Try
                For Each info3 In sys4.Get()
                    Me._Son.Add(New CarteAudio(info3("Name").ToString(), info3("Manufacturer").ToString()))
                Next
            Catch ex As Exception
                Throw New Exception("Problem in audio module")
            End Try
            For Each info3 In sys4.Get()
                Me._Son.Add(New CarteAudio(info3("Name").ToString(), info3("Manufacturer").ToString()))
            Next
     
            '***************************
            'Recherche des Graphiques  *
            '***************************
     
            Dim Video As New SelectQuery("Win32_VideoController")
            Dim sys5 As New ManagementObjectSearcher(Video)
            Dim info4 As ManagementObject
            Try
                For Each info4 In sys5.Get()
                    Me._Graphics.Add(New CarteGraphique(info4("Name").ToString(), CInt(info4("AdapterRam").ToString()) \ 1000000, info4("AdapterCompatibility").ToString(), info4("VideoModeDescription").ToString()))
                Next
            Catch ex As Exception
                Throw New Exception("Problem in graphics module")
            End Try
     
        End Sub
    End Class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Class Processeur
        Private _nom As String
        Private _description As String
        Private _vitesseReelle As String
        Private _cache As String
        Private _socket As String
        Private _construsteur As String
    end Class
    J'aimerais sérialiser en dans un fichier xml l'objet ordinateur mais j'ai pas trouver comment faire si vous avez une idee.
    je vous posterais le complet une fois finis.

    ps : je ne peux pas serialiser les différents composants et le restaurer fichier par fichier car l'application doit scanner plusieurs machines. donc sérialiser les composant ne m'interresse pas et je sais le faire. c'est vraiement ordinateur qui pose probleme

Discussions similaires

  1. Connaitre nombre de core, cpu matériel
    Par Mistervanhalen dans le forum Général Python
    Réponses: 2
    Dernier message: 02/04/2009, 09h26
  2. CPU HALT command detection
    Par Alcatîz dans le forum Composants
    Réponses: 3
    Dernier message: 16/07/2007, 20h10
  3. detection de frequence CPU et taille memoire
    Par gargle dans le forum MFC
    Réponses: 9
    Dernier message: 06/03/2007, 15h44
  4. detection de lignes
    Par the.cable.guy dans le forum Algorithmes et structures de données
    Réponses: 29
    Dernier message: 10/10/2002, 11h15
  5. Detection arret de windows
    Par philippe30 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 21/09/2002, 18h41

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