Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

1 DD, 2 partitions, et 2 numéros de série ?


Messages recommandés

Posté(e) (modifié)

Bonjour à tous:)

 

Je dois avoir un bug dans mon prog.

 

A la configuration, il relève le numéro de série d'un disque dur. Mais je m'aperçois que, pour chaque partition du même disque, il trouve un numéro de série différent.

 

Exemple :

Volume : IDE-1
Numéro de série : 43...

Volume : PRINCIPALE
Numéro de série : 23...

C'est normal ?

Modifié par Arnaud

Posté(e) (modifié)

Bonjour,

 

Pas de bug...C'est normal et comme ça depuis la sortie de MSDOS.

 

Complément d'information:

Le numéro de série est fait dès le formatage de la partition.

En fait, il s'agit tout simplement de la date du formatage écrit en binaire.

Donc, on ne peut pas avoir 2 numéros de séries identiques...

Modifié par Pierre13
Posté(e)

Bonjour Pierre.

 

Ah ! Bon. Je ne me souvenais pas de ça du temps d' MS-DOS.

 

Et alors : pour l'authentique numéro du disque ? Où aller le pêcher ? Sans doute en accès direct de type AbsRead() ?

Posté(e) (modifié)

Quel langage ?

 

J'ai bien un code en AutoIt qui utilise le WMI.

Voici le résultat :

 

Voir le Fichier : InfoDisque.exe

 

Cela va donner un fichier sur le bureau.(InfosDisk.txt)

Exemple de contenu:

 

Infos disque dur (Pierre13)

Interface: IDE
Modèle: ST1000LM ST1000LM024 HN-M SCSI Disk Device
Numéro de série: S2RQJ9DCA15785

 

 

Code AutoIt utilisé:

$colItems = ""
$Output = "Infos disque dur (Pierre13)" & @CRLF & @CRLF
If FileExists(@DesktopDir & "\InfosDisk.TXT") Then FileDelete(@DesktopDir & "\InfosDisk.TXT")
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x30)

If IsObj($colItems) then
   For $objItem In $colItems
      $Output &= "Interface: " & $objItem.InterfaceType & @CRLF
      $Output &= "Modèle: " & $objItem.Model & @CRLF
      $Output &= "Numéro de série: " & $objItem.SerialNumber & @CRLF
   Next
   FileWrite(@DesktopDir & "\InfosDisk.TXT", $Output )
   Run(@Comspec & " /c start " & @DesktopDir & "\InfosDisk.TXT" )
Endif

Modifié par Pierre13
Posté(e)

Bonjour.

 

Pour l'instant, ce serait en Delphi - donc : Pascal.

 

Cela dit, mais c'est HS, je reprendrais volontiers le C. C'était mon langage... dans les années 90 (sous MSDOS) ! Lazarus, sous Linux, est certes la réalisation d'un expert (chapeau bas). Mais ce n'est pas si complet que Delphi sous Windows. Et puis le C reste le C. Je sais : je vais tout devoir réapprendre. Mais bon, c'est la règle ;)

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...