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 6 et antérieur Discussion :

Juste pour savoir qu'elle direction je dois prendre


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Juste pour savoir qu'elle direction je dois prendre
    Bonjour,

    Je dois développer pour un service de support technique un logiciel qui devra récuppérer des informations sur un ordinateur du même réseau.

    Les informations sont :
    - la configuration complète de l'ordi avec tous les numéros des composants (genre le numéro de la carte réseau (MAC), celle du disque dur...)
    - le système d'exploitation avec sa version, son code licence et sa date d'installation et de la derniere mis à jour.
    - une liste des logiciels installés avec le numéro de version et de licence, la date d'installation et de la derniere mis à jour
    - si la conexion internet marche
    - ...

    A mon avis tout n'est pas possible à faire, mais j'aimerais atteindre le maximum de ces objectifs. Donc si vous avez des bouts de code pour moi, un site sympa à me proposer ou juste un composant à me conseiller, je vous en remercie d'avance

    Cordialement

    Ps : si vous pensez que vb ne serait pas la meilleure solution, je suis ouvert à toute autre proposition

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    C'est le code généré par l'assistant application. Dans tout ce code, il y a l'événement Click du bouton cmdSysInfo qui est intéressant. J'espère que ça t'aidera.
    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
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    Option Explicit
     
    ' Reg Key Security Options...
    Const KEY_ALL_ACCESS = &H2003F
     
     
    ' Reg Key ROOT Types...
    Const HKEY_LOCAL_MACHINE = &H80000002
    Const ERROR_SUCCESS = 0
    Const REG_SZ = 1                         ' Unicode nul terminated string
    Const REG_DWORD = 4                      ' 32-bit number
     
     
    Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"
    Const gREGVALSYSINFOLOC = "MSINFO"
    Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO"
    Const gREGVALSYSINFO = "PATH"
     
     
    Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long
    Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
    Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
     
    Private Sub Form_Load()
        lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision
        lblTitle.Caption = App.Title
    End Sub
     
     
     
    Private Sub cmdSysInfo_Click()
            Call StartSysInfo
    End Sub
     
     
    Private Sub cmdOK_Click()
            Unload Me
    End Sub
     
     
    Public Sub StartSysInfo()
        On Error GoTo SysInfoErr
     
     
            Dim rc As Long
            Dim SysInfoPath As String
     
     
            ' Try To Get System Info Program Path\Name From Registry...
            If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then
            ' Try To Get System Info Program Path Only From Registry...
            ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then
                    ' Validate Existance Of Known 32 Bit File Version
                    If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then
                            SysInfoPath = SysInfoPath & "\MSINFO32.EXE"
     
     
                    ' Error - File Can Not Be Found...
                    Else
                            GoTo SysInfoErr
                    End If
            ' Error - Registry Entry Can Not Be Found...
            Else
                    GoTo SysInfoErr
            End If
     
     
            Call Shell(SysInfoPath, vbNormalFocus)
     
     
            Exit Sub
    SysInfoErr:
            MsgBox "System Information Is Unavailable At This Time", vbOKOnly
    End Sub
     
     
    Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
            Dim i As Long                                           ' Loop Counter
            Dim rc As Long                                          ' Return Code
            Dim hKey As Long                                        ' Handle To An Open Registry Key
            Dim hDepth As Long                                      '
            Dim KeyValType As Long                                  ' Data Type Of A Registry Key
            Dim tmpVal As String                                    ' Tempory Storage For A Registry Key Value
            Dim KeyValSize As Long                                  ' Size Of Registry Key Variable
            '------------------------------------------------------------
            ' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...}
            '------------------------------------------------------------
            rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key
     
     
            If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Error...
     
     
            tmpVal = String$(1024, 0)                             ' Allocate Variable Space
            KeyValSize = 1024                                       ' Mark Variable Size
     
     
            '------------------------------------------------------------
            ' Retrieve Registry Key Value...
            '------------------------------------------------------------
            rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)    ' Get/Create Key Value
     
     
            If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError          ' Handle Errors
     
     
            tmpVal = VBA.Left(tmpVal, InStr(tmpVal, VBA.Chr(0)) - 1)
            '------------------------------------------------------------
            ' Determine Key Value Type For Conversion...
            '------------------------------------------------------------
            Select Case KeyValType                                  ' Search Data Types...
            Case REG_SZ                                             ' String Registry Key Data Type
                    KeyVal = tmpVal                                     ' Copy String Value
            Case REG_DWORD                                          ' Double Word Registry Key Data Type
                    For i = Len(tmpVal) To 1 Step -1                    ' Convert Each Bit
                            KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))   ' Build Value Char. By Char.
                    Next
                    KeyVal = Format$("&h" + KeyVal)                     ' Convert Double Word To String
            End Select
     
     
            GetKeyValue = True                                      ' Return Success
            rc = RegCloseKey(hKey)                                  ' Close Registry Key
            Exit Function                                           ' Exit
     
     
    GetKeyError:    ' Cleanup After An Error Has Occured...
            KeyVal = ""                                             ' Set Return Val To Empty String
            GetKeyValue = False                                     ' Return Failure
            rc = RegCloseKey(hKey)                                  ' Close Registry Key
    End Function
    Tu m'excuseras de n'avoir pas trié et retiré tout ce qui ne conserne pas les information Système... J'ai simplement fait un copier-coller.

    Bonne chance!

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Pour ne pas réinventer la roue, il y a Everest...
    www.lavalys.com

    Il y a une version free.
    Ca peut, peut-être, t'aider.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre éclairé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Points : 742
    Points
    742
    Par défaut
    Citation Envoyé par AlainTech
    Pour ne pas réinventer la roue, il y a Everest...
    www.lavalys.com

    Il y a une version free.
    Ca peut, peut-être, t'aider.
    Est-elle complète la version la free ?
    Scuse me while I kiss the sky ! Jimi Hendrix

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Plutôt que de poser la question, il suffit d'aller sur le site.

    Complète pour faire quoi?
    Il est clair qu'il y a plus dans une version payante que dans une version gratuite...
    Si vous êtes intéressés par une ancienne version (gratuite) qui donne tous les paramètres réseau, contactez-moi en MP.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    J'ai vu qu'il y avait des api windows, mais est ce qu'on peut les interroger à distance ???

Discussions similaires

  1. [AC-2007] Test d'une valeur pour savoir si elle est nulle
    Par glooping dans le forum IHM
    Réponses: 2
    Dernier message: 01/10/2009, 11h26
  2. Réponses: 2
    Dernier message: 31/12/2008, 11h01
  3. tester une chaine pour savoir si elle est numérique ?
    Par _MattU_ dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/06/2008, 15h47
  4. Réponses: 3
    Dernier message: 27/05/2007, 15h40
  5. Juste pour savoir ( ouvrir fenetre en plein ecran )
    Par Alexlesilex dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 07/06/2006, 17h38

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