Win32API 論理ドライブ名を取得する GetLogicalDrives

使用するAPI

  • GetLogicalDrives


  • GetLogicalDrivesで、32ビット整数(DWORD型)のビット列で存在するドライブ名を取得する。最下位ビットからA、B, ..., Zを表す。1ビットずつシフトしながらビットがオンかオフかを調べ、オンならばそのドライブが存在することになる。

    #include <windows.h>
    
    int main()
    {
    	DWORD dwLogicalDrives;
    	int i;
    
    	dwLogicalDrives = GetLogicalDrives();
    
    	for (i = 0; i < 26; i++) {
    		if ((dwLogicalDrives & 1) != 0) {
    			printf("%c ", i + 'A');
    		}
    		dwLogicalDrives >>= 1;
    	}
    	
    	return 0;
    }