Могу предложить кое-что по-проще:
На форму кидаешь ListBox и кнопку:
Код:
function DriveExists (Drive: Byte) : boolean;
begin
Result := Boolean (GetLogicalDrives and (1 shl Drive));
end;
procedure TForm1.Button1Click(Sender : TObject);
var Drive : byte;
begin
for Drive := 0 to 25 do
If DriveExists (Drive) then
begin
ListBox1.Items.Add (Chr(Drive+$41));
end;
end;