function getdname(d:string):string; //d-буква диска формата F:\
var
VolumeName,FileSystemName : array [0..MAX_PATH-1] of Char;
VolumeSerialNo : DWord;
MaxComponentLength,FileSystemFlags : longword;
begin
result:='';
if GetVolumeInformation(PChar(D),VolumeName,MAX_PATH,@VolumeSerialNo,
MaxComponentLength,FileSystemFlags,FileSystemName,MAX_PATH) then result:=VolumeName;
end;
, но этот код меня смущает, прототип функции GetVolumeInformation другой в плане типов входных параметров, там LPSTR всякие..
А проверяю, подключился ли новый флеш,так:
function getnewdrive:string;
var i:char;
begin
result:='';
for i:='A' to 'Z' do
if Getdrivetype(pchar(i+':\'))=DRIVE_REMOVABLE then begin
if not(i in drives) then begin
result:=i+':\';
break;
end;
end;
end;