わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。

現在利用可能な論理ドライブをビットマスクで取得する

現在利用可能なディスクドライブを取得するには、GetLogicalDrives()関数を呼び出します。 関数が成功すると、現在利用可能なディスクドライブを表すビットマスクが返ります。 ビット 0(最下位ビット)はドライブ A、ビット 1 はドライブ B、ビット 2 はドライブ C を示し、以降は同じように25ビットのZドライブまでの情報が取得できます。

#include <stdio.h>
#include <tchar.h>
#include <locale.h>
#include <windows.h>



int _tmain
(
	  int argc
	, _TCHAR* argv[]
)
{
	/*
		ロケールを日本に設定
		 これを設定するだけで、標準出力に日本語が表示される
		 ようになります。
	*/
	setlocale( LC_ALL, "Japanese" );

	// 現在利用可能な論理ドライブをビットマスクで取得する
	DWORD dwLogicalDrives = ::GetLogicalDrives();

	// 利用可能なドライブを標準出力へ表示する
	for ( int iI = 0; iI < 26; iI++ ) {
		if ( 0 != ( ( 1 << iI ) & dwLogicalDrives ) ) {
			wprintf_s( _T("%c, "), 'A' + iI );
		}
	}

	// 正常終了
	return( 0 );
}

実行結果

C, D, F,






わびさびサンプルソース

WindowsやHTML5などのプログラムのサンプルコードやフリーソフトを提供します。