Как правильно воспользоваться WinApi функцией GetVolumeInformation,- у меня она неправильно отрабатывает!
Здравствуйте, Freddie, Вы писали:
F>Как правильно воспользоваться WinApi функцией GetVolumeInformation,- у меня она неправильно отрабатывает!
А что значит неправильно отрабатывает? Можно поконкретнее?..
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, Freddie, Вы писали:
Уточнения не дождался...
Ну ладно. Вот пример (взят из Delphi7\Source\Vcl\FileCtrl.pas):
function VolumeID(DriveChar: Char): string;
var
OldErrorMode: Integer;
NotUsed, VolFlags: DWORD;
Buf: array [0..MAX_PATH] of Char;
begin
OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
Buf[0] := #$00;
if GetVolumeInformation(PChar(DriveChar + ':\'), Buf, DWORD(sizeof(Buf)),
nil, NotUsed, VolFlags, nil, 0) then
SetString(Result, Buf, StrLen(Buf))
else Result := '';
if DriveChar < 'a' then
Result := AnsiUpperCaseFileName(Result)
else
Result := AnsiLowerCaseFileName(Result);
Result := Format('[%s]',[Result]);
finally
SetErrorMode(OldErrorMode);
end;
end;
... << RSDN@Home 1.0 beta 6a >>