有効ドライブ名を取得する。

こんな感じでとれる。

CString FolderPath;
DWORD dwLogicals;
dwLogicals = ::GetLogicalDrives();
DWORD dwBits = 1;
for(int i='A'; i <= 'Z'; i++){
if(dwBits & dwLogicals){
FolderPath.Format("%c:\\", i);

// 得られたドライブ名を使って何かする。

}
dwBits <<= 1;
}

これで取れるんだけど、有効ってのはデバイスとして定義されてるモノをさすみたい。
なので現在、マウントされてないのもこれに引っかかっちゃう。
うーむ。なんかそれっていくないよね。

とりあえず私はさらにドライブの中にファイルがあるかないかで判断してます。

久しぶりにプログラミングのお話でした。

そういえばMacユーザーな私が最初にWindowsを触ったときに驚いたのは
CDとか入れてないのにドライブ名が出てることかな。
CDマウントしてないのになぜ??って。
何か入れてたっけ?って思ってクリックすると「ディスクを挿入してください」って・・。
うーむ、入ってるかどうかはそっちで管理して欲しいなーと。
さらにフラッシュメモリカードリーダとかなると最悪だよね。
俺が刺したSDどこにあるんだよ!!ってね。
最近のリーダライタはちゃんとメディアがさしてあるとこだけエクスプローラ上にでるみたいだけど。

最初はそんなところがスマートじゃないなーと思ってたものです。ええ。
今?、今はもうどっちもこんがらがってますw
関連記事

tag : MFC


comment

Secret

 

Ads
プロフィール

はち

はち

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
RSSリンクの表示
タグクラウド
QRコード
QRコード
月別アーカイブ
カウンター