Comment acceder au numero de serie du volume

Résolu
Besoin d'une routine programmation system qui permet d'acceder a l'execution au numero de serie du volume en cours.
Merci;

4 réponses

  1. Bonjour à tous
    SVP
    j'ai vue que le numéro de série de chaque volume change aprée la répartition et je voudrais fixer un numéro
    je voudrais une solution SVP
    et merci
    0
    1. Que de grands mots pour un petit coup de main !

      ;-)
      0
      1. Bonjour,

        L'utilisation de la routine GetVolumeInformation ne relève en rien de la programmation système. Elle s'utilise comme toute autre fonction Delphi, il faut juste mentionner l'utilisation de la bibliothèque Windows.

        Pour le reste, voici un exemple tout bête qui affiche le numéro de série du disque.

        procedure TForm1.Button1Click(Sender: TObject);
        var
          VolumeName      : array[0..MAX_PATH] of char;
          VolumeSerialNr  : dword;
          FileSystemName  : array[0..MAX_PATH] of char;
          fml             : dword;
          flags           : dword;
        begin
          if GetVolumeInformation('C:\', VolumeName, MAX_PATH, @VolumeSerialNr, fml, flags, FileSystemName, MAX_PATH) then
            ShowMessage('SerialNr = '+IntToStr(VolumeSerialNr));
        end;
        


        slts

        Michael.
        0
        1. C'est bel et bien la reponse attendue, fier de votre aide cher monsieur, fier de notre site qui gere notre entraide.
          Merci a tous ceux qui contribuent a notre satisfaction.
          Tu me dois vives et sinceres expressions monsieur GroFwa.

          M.Salem
          0
      2. Salut,

        Dans l'API Windows, il y a la fonction suivante

        BOOL GetVolumeInformation(

        LPCTSTR lpRootPathName, // address of root directory of the file system
        LPTSTR lpVolumeNameBuffer, // address of name of the volume
        DWORD nVolumeNameSize, // length of lpVolumeNameBuffer
        LPDWORD lpVolumeSerialNumber, // address of volume serial number
        LPDWORD lpMaximumComponentLength, // address of system's maximum filename length
        LPDWORD lpFileSystemFlags, // address of file system flags
        LPTSTR lpFileSystemNameBuffer, // address of name of file system
        DWORD nFileSystemNameSize // length of lpFileSystemNameBuffer
        );

        Ca devrait t'aider, du moins si tu travailles sous Windows
        0