ok voila
(*********************par exmple F:*************)
Function NomDisque(RepertoireRacine:String):string;
var
Repertoire:PChar;
NomVolume: array[0..255] of char;
NumSerie:DWORD;
LongeurMaxNomFichier:DWORD;
TypeCase:DWORD;
FileSystem: array[0..255] of char;
begin
Repertoire:=PChar(RepertoireRacine);
if not GetVolumeInformation(Repertoire,NomVolume,SizeOf(NomVolume),@NumSerie,
LongeurMaxNomFichier,TypeCase, FileSystem,sizeOf(FileSystem))
then ShowMessage('erreur');
Result:=string(NomVolume);
end;
//************************************************
/*************pour detecter ton flash***********
procedure TF_HS.RefreshDriveInfo;
var
i: Integer;
typ,Fsys:string;
Pstr:PAnsichar;
begin
TSL.Clear;
//*********driveb: TDriveComboBox;*****************
for i := 2 to driveb.Items.Count do //*******ont evit les deux premierlecteur ;)
begin
typ:= cxDrive[i].Shell.DisplayName;
Fsys:=cxDrive[i].FileSystem ;
TSL.Items.Add(typ+' Fichiersysteme: '+Fsys);
// SubItems.Add(cxDrive[i].Space.BytesTotal.Formatted);
// SubItems.Add(cxDrive[i].Space.BytesUsed.Formatted);
// SubItems.Add(cxDrive[i].Space.BytesAvailable.Formatted);
pstr:=pchar(driveb.Items[i]);
if GetDriveType(pstr) = DRIVE_REMOVABLE then
SNDM:=cxDrive[i].Serial;
end;
end;
/*****************Fin******************************
c'est que j'ai utilisé ça avant moi aussi pour la securité d'une application server

mais malheureusement il faut faire beaucoup plus que ça; pour mettre une securité dure a hacké

, quand tu finiras j'aimerai bien que tu m'envoi le exécutable pour que vérifie

.
Matrix

,