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

WinDev Discussion :

NetAdresseMac() et driver carte réseau


Sujet :

WinDev

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut NetAdresseMac() et driver carte réseau
    Bonjour à tous

    Je viens de remarquer que NetAdresseMac() renvoie une chaine vide lorsque le pilote de la carte réseau n'est pas ou est mal installée!

    Est ce normal? du moins en WD12 ?

    Y a t-il une autre solution ?

    Merci d'avance pour le temps pris!

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Salut à toi,

    Eventuellement si ça peux t'aider, pendant un temps je regardais les différentes méthodes pour remonter différentes informations systèmes, et une méthode consistait à passer par du VB Script.

    Voici un code qui liste les cartes réseaux, à voir si ça fonctionne dans ton cas :
    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
    PROCEDURE procVBScriptNetworkAdapters()
    sList est une chaîne
    oScript est un objet Automation "MSScriptControl.ScriptControl"
     
    sScriptVBS est une chaîne = [
     
    Function ScanNetworkAdapters()
    Dim objWMIService, colNetworkAdapters, objNetworkAdapter, sInfo
    Dim Cpt
     
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colNetworkAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
     
    sInfo = ""
    For Each objNetworkAdapter In colNetworkAdapters
    	If sInfo <> "" Then sInfo = sInfo & Chr(13) & Chr(10)
    	sInfo = sInfo & "Index : " & objNetworkAdapter.Index & Chr(9) &  "Adresse MAC : " & objNetworkAdapter.MACAddress
    	Cpt = 0
    	Do
    		sInfo = sInfo & Chr(9) & "Adresse IP " & Cpt & " : " & objNetworkAdapter.IPAddress(Cpt)
    		Cpt = Cpt + 1
    	Loop While objNetworkAdapter.IPAddress(Cpt) <> ""
    Next
     
    ScanNetworkAdapters = sInfo
    End Function
    ]
     
    oScript>>Language("VBScript")
    oScript>>AddCode(sScriptVBS)
    oScript>>Timeout(-1)	//pas de timeout
    sList = oScript>>Run("ScanNetworkAdapters") //Appel
     
    RENVOYER sList

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Lo² et merci pour l'aide.

    J'ai donc utilisé ta procédure mais j'ai comme un souci dans l'instruction suivante de la proc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sList = oScript>>Run("ScanNetworkAdapters") //Appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Erreur à la ligne 32 du traitement Procédure globale procVBScriptNetworkAdapters.
    Vous avez appelé la méthode Automation 'Run'.
    En tentant d'invoquer la méthode <Run> ou de lire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 8002000B : Index non valide. '
    En tentant d'invoquer la méthode <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 8002000B : Index non valide. '
    En tentant de lire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas' 
    En tentant d'écrire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas'
    Dois je créer un activex ?

    Merci

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Non, en fait cela utilise l'activeX ScriptControl qui est déjà présent sur un Windows.

  5. #5
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 006
    Points : 9 400
    Points
    9 400
    Par défaut
    bonjour,

    en fait il y a un souci dans le code vbscript au niveau de la collecte des adresses IP. J'ai mis en commentaire cette partie et oici un code qui marche mais qui ne récolte qu'une adresse I.P par carte ( cas le plus fréquent) :

    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
     
    ScriptVBS est une chaîne = [
     
    Function ScanNetworkAdapters()
    Dim objWMIService, colNetworkAdapters, objNetworkAdapter, sInfo
    Dim Cpt
     
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colNetworkAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
     
    sInfo = ""
    For Each objNetworkAdapter In colNetworkAdapters
    	If sInfo <> "" Then sInfo = sInfo & Chr(13) & Chr(10)
    	sInfo = sInfo & "Index : " & objNetworkAdapter.Index & Chr(9) &  "Adresse MAC : " & objNetworkAdapter.MACAddress
    	Cpt = 0
    rem Do
      sInfo = sInfo & Chr(9) & "Adresse IP " & Cpt & " : " & objNetworkAdapter.IPAddress(Cpt)
     rem Cpt = Cpt + 1
    rem  Loop While objNetworkAdapter.IPAddress(Cpt) <> ""
     	Next
     
    	ScanNetworkAdapters = sInfo
    End Function
    ]
    Ami calmant, J.P

  6. #6
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Je croyais que la fonction netmacadress n'etait implémentée que depuis la version 15!!!!! Mais me tromperais-je ou ma mémoire s'altère-t-elle avec l'âge canonique que j'atteinds....

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Ben les 2 mon capitaine, la fonction existe bien en 12.

  8. #8
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Maestro! EDM

    J'opte pour la mémoire plutot

    Ca fonctionne maintenant (enfin cela donne l'adresse mac) mais en testant sur virtual Box puis en désactivant la carte réseau dans VirtualBox l'adresse mac est vide!

    J'ai comme l'impression que sans adresse ip il n'ya pas d'adresse mac?

  9. #9
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 342
    Points : 3 857
    Points
    3 857
    Par défaut
    Il y a dans le code une petite requête qui se fait sur le critère IPEnabled = True.

    As-tu essayé avec IPEnabled = False ?

  10. #10
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Hello Lo²

    Bien tenté mais malheuresement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Erreur à la ligne 33 du traitement Procédure globale procVBScriptNetworkAdapters.
    Vous avez appelé la méthode Automation 'Run'.
    En tentant d'invoquer la méthode <Run> ou de lire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 800A000D : Type incompatible: 'objNetworkAdapter.IPAddress(...)''
    En tentant d'invoquer la méthode <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 800A000D : Type incompatible: 'objNetworkAdapter.IPAddress(...)''
    En tentant de lire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas' 
    En tentant d'écrire la propriété <Run>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas'

  11. #11
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 006
    Points : 9 400
    Points
    9 400
    Par défaut
    coucou zouzouka,

    c'est normal que tu es une erreur car quand une carte réseau est désactivée, en WMI elle renvoie null pour l'adresse MAC. D'ailleurs si tu fais les commandes "IpConfig /all" ou "getmac" en fenêtre de console tu verras que le système ne renvoie pas non plus l'adresse MAC.

    Moralité : quand une carte réseau est désactivée, windows ne la voit plus. Il faut réactiver les cartes réseaux pour pouvoir lire les informations de celles-ci.

    Ami calmant, J.P

  12. #12
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Salut Jurassic!

    C'est donc bien le problème!
    J'ai basé ma licence sur l'adresse mac de la première carte réseau et un de mes clients n'ayant pas trouvé le pilote de sac carte réseau (pas de pilote) et n'ayant pas besoin (monoposte), je n'ai donc pas de valeur sur netadressemac()

    Ce code est donc équivalent à NetAdresseac()

    Je me suis alors rabattu sur un code donnant le numéro de disque constructeur et non le numéro de volume du disque (entre parenthèse je pense que c'est le tien pris sur le forum PC Soft). En Virtual. cette procédure me renvoie également une chaine vide, serait ce le cas sur un système physique?

    Je poste le code au cas ou

    Déclarations

    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
    	//Numéro de série du disque dur (constructeur)
    	//--------------------------------------------------------------------
    	CONSTANTE
    		SMART_ENABLE_SMART_OPERATIONS = 0xD8
    		GENERIC_READ = 0x80000000
    		GENERIC_WRITE = 0x40000000
    		FILE_SHARE_READ = 0x1
    		FILE_SHARE_WRITE = 0x2
    		OPEN_EXISTING = 0x3
    		SMART_CYL_LOW = 0x4F
    		SMART_CYL_HI = 0xC2
    		IDE_EXECUTE_SMART_FUNCTION = 0xB0
    		DFP_GET_VERSION = 0x74080
    		DFP_SEND_DRIVE_COMMAND = 0x7C084
    		DFP_RECEIVE_DRIVE_DATA = 0x7C088
    		IDE_ID_FUNCTION = 0XEC
    		IDENTIFY_BUFFER_SIZE = 512
    		OUTPUT_DATA_SIZE = IDENTIFY_BUFFER_SIZE + 16
    	FIN
     
    	STIDSector est une structure
    		nGenConfig est un entier sur 2 octets
    		nnNumCyls est un entier sur 2 octets
    		nReserved est un entier sur 2 octets
    		nNumHeads est un entier sur 2 octets
    		nBytesPerTrack est un entier sur 2 octets
    		nBytesPerSector est un entier sur 2 octets
    		nSectorsPerTrack est un entier sur 2 octets
    		sfVendorUnique est une chaîne fixe sur 6
    		sfSerialNumber est une chaîne fixe sur 20
    		nBufferType est un entier sur 2 octets
    		nBufferSize est un entier sur 2 octets
    		nECCSize est un entier sur 2 octets
    		sfFirmwareRev est une chaîne fixe sur 8
    		sfModelNumber est une chaîne fixe sur 40
    		nMoreVendorUnique est un entier sur 2 octets
    		nDoubleWordIO est un entier sur 2 octets
    		nCapabilities est un entier sur 2 octets
    		nReserved1 est un entier sur 2 octets
    		nPIOTiming est un entier sur 2 octets
    		nDMATiming est un entier sur 2 octets
    		nBS est un entier sur 2 octets
    		nNumCurrentCyls est un entier sur 2 octets
    		nNumCurrentHeads est un entier sur 2 octets
    		nNumCurrentSectorsPerTrack est un entier sur 2 octets
    		nCurrentSectorCapacity est un entier sur 4 octets
    		nMultSectorStuff est un entier sur 2 octets
    		nTotalAddressableSectors est un entier sur 4 octets
    		nSingleWordDMA est un entier sur 2 octets
    		nMultiWordDMA est un entier sur 2 octets
    		sfReserved est une chaîne fixe sur 128
    	FIN
     
    	STAttr_Data est une structure
    		nAttrIDest est un entier sans signe sur 1 octet
    		sAttrName est une chaîne
    		nAttrValueest est un entier sans signe sur 1 octet
    		nThresholdValueest est un entier sans signe sur 1 octet
    		nWorstValueest est un entier sans signe sur 1 octet
    		nStatusFlags est un entier sans signe sur 1 octet
    	FIN
     
    	STDrive_Info est une structure
    		nDriveType est un entier sans signe sur 1 octet
    		sSerialNumber est une chaîne
    		sModel est une chaîne
    		sFirmWare est une chaîne
    		nCilinders est un entier sur 4 octets
    		nHeads est un entier sur 4 octets
    		nSecPerTrack est un entier sur 4 octets
    		nBytesPerSector est un entier sur 4 octets
    		nBytesperTrack est un entier sur 4 octets
    		nNumAttributes est un entier sans signe sur 1 octet
    		tabAttributes est un tableau dynamique de 0 STAttr_Data
    	FIN
     
    	STIDERegs est une structure
    		nFeaturesReg est un entier sans signe sur 1 octet
    		nSectorCountReg est un entier sans signe sur 1 octet
    		nSectorNumberReg est un entier sans signe sur 1 octet
    		nCylLowReg est un entier sans signe sur 1 octet
    		nCylHighReg est un entier sans signe sur 1 octet
    		nDriveHeadReg est un entier sans signe sur 1 octet
    		nCommandReg est un entier sans signe sur 1 octet
    		nReserved est un entier sans signe sur 1 octet
    	FIN
     
    	STSendCmdInParams est une structure
    		nBufferSize est un entier sur 4 octets
    		stIrDriveRegs est un STIDERegs
    		nDriveNumber est un entier sans signe sur 1 octet
    		tabReserved est un tableau de 3 entiers sans signe sur 1 octet
    		tabDwReserved est un tableau de 4 entiers sans signe sur 4 octets
    		tabBuffer est un tableau dynamique de 0 entier sans signe sur 1 octet
    	FIN
     
    	STDriverStatus est une structure
    		nDriverError est un entier sans signe sur 1 octet
    		nIDEStatus est un entier sans signe sur 1 octet
    		tabReserved est un tableau de 2 entiers sans signe sur 1 octet
    		tabDwReserved est un tableau de 2 entiers sur 4 octets
    	FIN
     
    	STSendCmdOutParams est une structure
    		nBufferSize est un entier sur 4 octets
    		DRIVERSTATUS est un STDriverStatus
    		tabBuffer est un tableau dynamique de 0 entier sans signe sur 1 octet
    	FIN
    Procedure Getdriveinfo()

    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
    PROCEDURE GetDriveInfo(nDriveNumber est un entier)
     
    nHandleDrive est un entier sans signe
    stDI est un STDrive_Info
     
    bRetour est un booléen
    stSCIP est un STSendCmdInParams
    nBytesReturned est un entier sans signe sur 4 octets
    stSec est un STIDSector
    tabArrOut est un tableau de OUTPUT_DATA_SIZE entier sans signe sur 1 octet
    sfArrOut est une chaîne fixe sur 528
    nIndex est un entier
     
    nHandleDrive =API("kernel32","CreateFileA","\\.\PhysicalDrive"+nDriveNumber,OUBinaire(GENERIC_READ,GENERIC_WRITE),OUBinaire(FILE_SHARE_READ,FILE_SHARE_WRITE),0,OPEN_EXISTING,0,0)
     
    SI nHandleDrive <> -1 ALORS
    	stDI:nDriveType = 0
    	stDI:nNumAttributes = 0
    	Dimension(stDI:tabAttributes,0)
    	stDI:nDriveType = 1
     
     
    	stSCIP:nBufferSize = 0
    	stSCIP:stIrDriveRegs:nFeaturesReg = SMART_ENABLE_SMART_OPERATIONS
    	stSCIP:stIrDriveRegs:nSectorCountReg = 1
    	stSCIP:stIrDriveRegs:nSectorNumberReg = 1
    	stSCIP:stIrDriveRegs:nCylLowReg = SMART_CYL_LOW
    	stSCIP:stIrDriveRegs:nCylHighReg = SMART_CYL_HI
     
    	stSCIP:stIrDriveRegs:nDriveHeadReg = 0xA0
    	SI PAS (Val(SysVersionWindows(sysVersionNuméro)) >= 4 ET SysVersionWindows(sysVersionPlateForme) = "NT") ALORS
    		stSCIP:stIrDriveRegs:nDriveHeadReg = OUBinaire(stSCIP:stIrDriveRegs:nDriveHeadReg,(ETBinaire(nDriveNumber,1) * 16))
    	FIN
    	stSCIP:stIrDriveRegs:nCommandReg = IDE_EXECUTE_SMART_FUNCTION
    	stSCIP:nDriveNumber = nDriveNumber
     
    	SI API("kernel32","DeviceIoControl",nHandleDrive,DFP_SEND_DRIVE_COMMAND,&stSCIP,32,&sfArrOut,16,&nBytesReturned,0) ALORS
    		stSCIP:nBufferSize = IDENTIFY_BUFFER_SIZE
    		stSCIP:nDriveNumber = nDriveNumber
    		stSCIP:stIrDriveRegs:nFeaturesReg = 0
    		stSCIP:stIrDriveRegs:nSectorCountReg = 1
    		stSCIP:stIrDriveRegs:nSectorNumberReg = 1
    		stSCIP:stIrDriveRegs:nCylLowReg = 0
    		stSCIP:stIrDriveRegs:nCylHighReg = 0
    		stSCIP:stIrDriveRegs:nDriveHeadReg = 0xA0
    		SI PAS (Val(SysVersionWindows(sysVersionNuméro)) >= 4 ET SysVersionWindows(sysVersionPlateForme) = "NT") ALORS
    			stSCIP:stIrDriveRegs:nDriveHeadReg = OUBinaire(stSCIP:stIrDriveRegs:nDriveHeadReg,(ETBinaire(nDriveNumber,1) * 16))
    		FIN
    		stSCIP:stIrDriveRegs:nCommandReg = IDE_ID_FUNCTION
     
    		bRetour =		API("kernel32","DeviceIoControl",nHandleDrive,DFP_RECEIVE_DRIVE_DATA,&stSCIP,32,&sfArrOut,OUTPUT_DATA_SIZE,&nBytesReturned,0)
    		Transfert(&stSec,(&sfArrOut+16),256)
     
    		POUR nIndex = 1 _A_ (Taille(stSec:sfModelNumber)-1) PAS 2
    			stDI:sModel+= stSec:sfModelNumber[[nIndex+1]]+stSec:sfModelNumber[[nIndex]]
    		FIN
    		POUR nIndex = 1 _A_ (Taille(stSec:sfSerialNumber)-1) PAS 2
    			stDI:sSerialNumber+= stSec:sfSerialNumber[[nIndex+1]]+stSec:sfSerialNumber[[nIndex]]
    		FIN
     
    		stDI:sModel = SansEspace(stDI:sModel)
    		stDI:sSerialNumber = SansEspace(stDI:sSerialNumber)
    	FIN
    FIN
     
    RENVOYER(stDI)
    Code appelant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    stInfo est un STDrive_Info
     
    	stInfo = GetDriveInfo(0)
    	SInfo=(stInfo:sSerialNumber)
    Merci d'avance

  13. #13
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 006
    Points : 9 400
    Points
    9 400
    Par défaut
    bonjour,

    as-tu essayé mon code qui est dans cet article :
    protection-logiciel-cle/

    sinon lorsqu'on arrive pas à récupérer le numéro de série du disque, faute de mieux, on se rabat sur le volumeID ( celui qui change au formatage).

    Ami calmant, J.P

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/11/2011, 07h28
  2. [Réseau filaire] Driver carte réseau Intel 82801GB ICH7
    Par sky88 dans le forum Dépannage et Assistance
    Réponses: 5
    Dernier message: 13/03/2011, 17h44
  3. Installer drivers carte réseau ubuntu
    Par The Free Man dans le forum Matériel
    Réponses: 2
    Dernier message: 27/03/2010, 12h02
  4. [Driver] Driver carte réseau VISION plus
    Par Just-Soft dans le forum Composants
    Réponses: 2
    Dernier message: 14/02/2009, 09h41
  5. Driver carte réseau
    Par cuttyve dans le forum Windows XP
    Réponses: 2
    Dernier message: 21/11/2006, 15h31

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