Forumda ve nette bir çok konu açışmış fakat hiç birinde sonuç yok;
Programı flash bellek içinde kullanıcıya vereceğim ve o flash dışında hiç bir ortamda programın çalışmasını istemiyorum, fakat flash belleğe format atıldığında seri gidiyor ve yeniden seri no üretiliyor.
Kısacası flash bellek seri numarası format atılsa da "değişmeyen" numarasını nasıl alabilirim...
Kod: Tümünü seç
procedure TForm1.HdClick(Sender: TObject);
function GetVolumeSerialNumber: string;
var
NotUsed, VolFlags: DWORD;
VolSN: DWORD;
VolumeSerialNumber: string;
begin
SetCurrentDirectory(pChar(ExtractFilePath(Application.Exename)));
GetVolumeInformation(Nil, Nil, 0, @VolSN, NotUsed, VolFlags, Nil, 0);
VolumeSerialNumber := AnsiUpperCase(IntToHex(VolSN, 8));
Result := VolumeSerialNumber;
end;
begin
Edit1.Text := GetVolumeSerialNumber;
end;