現在使用できるドライブを列挙する

■使用するコンポーネント

■使用するAPI関数

    (例)戻り値が29の場合は?                  

二進数 0 0 0 1 1 1 0 1
ドライブ H:\ G:\ F:\ E:\ D:\ C:\ B:\ A:\

    利用できるドライブはA:\、C:\、D:\、E:\になります。

■ソースは下記のようになります。

現在、使用できるドライブを列挙する処理
procedure TForm1.Button1Click(Sender: TObject);
var
 Ret : Integer;//ビットマスク
 i  : integer;
begin

 //現在使用できるディスクドライブのビットマスクを取得
 Ret:= GetLogicalDrives;
 //0-25はドライブがA-Zまでしかないからです。
 For i := 0 to 25 do
 begin
  //論理積が0ではない時にリストに追加する
  if (Ret and(1 shl i)) <> 0 then
  ListBox1.Items.Add(Char(Ord('A') + i) + ':\');
 end;


end;




Win32APIのページへ



ホーム PV ランキング