Comment obtenir bcp d'info sur votre machine ?

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 312 fois - Téléchargée 66 fois

Contenu du snippet

Le code à mettre d'en un MODULE ,:

Source / Exemple :


'*****************************
'Code à mettre dans un module.
'*****************************

Declare Function RegQueryValueEx Lib "advapi32.dll" _
    Alias "RegQueryValueExA" _
    (ByVal hKey As Long, _
    ByVal lpValueName As String, _
    ByVal lpReserved As Long, _
    lpType As Long, lpData As Any, _
    lpcbData As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" _
    Alias "RegOpenKeyExA" _
    (ByVal hKey As Long, _
    ByVal lpSubKey As String, _
    ByVal ulOptions As Long, _
    ByVal samDesired As Long, _
    phkResult As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" _
    (ByVal hKey As Long) As Long

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const KEY_ALL_ACCESS As Long = &HF0063
Public Const ERROR_SUCCESS As Long = 0
Public Const REG_SZ As Long = 1

Function RegLireChaine(hInKey As Long, ByVal SousClef$, ByVal valname$) As String
Dim strChaine As String
Dim hSousClef As Long
Dim dwType As Long
Dim v As String
Dim SZ As Long
Dim R As Long
'
strChaine = ""
'
R = RegOpenKeyEx(hInKey, SousClef$, 0, KEY_ALL_ACCESS, hSousClef)
If R <> ERROR_SUCCESS Then GoTo Quitter
'
SZ = 256: v = String$(SZ, 0)
R = RegQueryValueEx(hSousClef, valname$, 0, dwType, ByVal v, SZ)
If R = ERROR_SUCCESS And dwType = REG_SZ Then
        strChaine = Left$(v, SZ)
        Else
        strChaine = " "
    End If
If hInKey = 0 Then R = RegCloseKey(hSousClef)
'
Quitter:
        RegLireChaine = strChaine
End Function

' LE CODE A METTRE DANS VOTRE FORM

' ****************************************
' *** Lecture de la Version de Windows ***
' ****************************************

    ' Lire utilisateur enregistré
        lblUtilisateur = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegisteredOwner")

    ' Lire organisation enregistrée
        lblOrganisation = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "RegisteredOrganization")

    ' Lire le numéro de license
        lblLicence = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "ProductID")

    ' Lire la cle d'enregistrement
        lblCle = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "ProductKey")

    ' Lire le nom du programme
        lblNom = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "ProductName")

    ' Lire la Version
        lblVersion = RegLireChaine(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion", "VersionNumber")

' ***************************
' *** Lecture du materiel ***
' ***************************
    
    ' Lire le type d'ordinateur
        lblProcesseur = RegLireChaine(HKEY_LOCAL_MACHINE, "Hardware\Description\System\CentralProcessor\0", "Identifier")
    
    ' Lire le MMX Identificateur
        lblMMX = RegLireChaine(HKEY_LOCAL_MACHINE, "Hardware\Description\System\CentralProcessor\0", "MMXIdentifier")
    
    ' Lire le Vendor Identification
        lblVendor = RegLireChaine(HKEY_LOCAL_MACHINE, "Hardware\Description\System\CentralProcessor\0", "VendorIdentifier")

Conclusion :


Aucune configuration de formulaire ici, les Label "lblxxxxxx" représente les noms de labels que vous désirez obtenir. Dans cet exemple, vous avez l'exemple qui vous montre comment lire dans la base de registre, avec quelques clés utililes qui vous donnerons différentes informations sur l'utilisateur ou sur la machine.
Pour avoir un bon exemple, téléchargez le fichier Zip en bas de cette page qui vous en montrera un peu plus.

'Excuse, voila le ZIP

A voir également

Ajouter un commentaire Commentaires
Messages postés
30
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
12 février 2004

Non, pas le zip...

On va pas faire un zip a chaque fois qu'on a 10 lignes a poster.

De plus, le principe d'un module, c que c'est portable et form free, donc surtt pas de zip pour un bete fichier.bas....

Néanmoins: pas non plus de reference a un label dans un module qui est censé etre form free, je te suggère de créer un type info qui contient toutes les infos que tu recupère, et de la mettre comme retour de ta fonction, comme ca un code propre, portable, et rien a mettre dans une forme si ce n'est le nom de la fonction.

Par contre, j'avoue que pour le wmi, je suis d'accord (zmania: t'aurais pu être plus clair et moins agressif nèanmoins, tout le monde ne peut pas avoir un connaissance très étendu et chaque chose s'apprend en son temps...)

youl46: je te suggère (et oui, encore :) ) de faire un tour par ici:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_reference.asp

c'est trs instructif
Messages postés
22
Date d'inscription
lundi 21 octobre 2002
Statut
Membre
Dernière intervention
13 septembre 2004

pFFFFFFFFFFFFf....Tu vonnais WMI..
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016

au fait :
L E Z I P ! ! !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.