获得系统所有的硬盘盘符

获得硬盘盘符的函数是:GetLocalDrives.在MSDN中是这样描述该函数的:

GetLogicalDrives

The GetLogicalDrives function returns a bitmask representing the currently available disk drives.

DWORD GetLogicalDrives(VOID)
 
Parameters

This function has no parameters.

Return Values

If the function succeeds, the return value is a bitmask representing the currently available disk drives. Bit position 0 (the least-significant bit) is drive A, bit position 1 is drive B, bit position 2 is drive C, and so on.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

通过这个函数可以得到系统中所有的盘符.如果想得到固定磁盘的个数以及盘符,就需要判断每个盘的性质.

具体的代码如下:

 DWORD dDriveReturn;  UINT nDiskType;  LPCTSTR DriveItem;  int iDriveNum;

  dDriveReturn=GetLogicalDrives(); //获得磁盘驱动器位掩码  switch(dDriveReturn)  {  case 28:   iDriveNum = 2;   break;  case 60:   iDriveNum = 3;   break;  case 124:   iDriveNum = 4;   break;  case 252:   iDriveNum = 5;   break;  case 508:   iDriveNum = 6;   break;  case 1020:   iDriveNum = 7;   break;  case 2044:   iDriveNum = 8;   break;  case 4092:   iDriveNum = 9;   break;  }

 m_iDiskNum = 0;  for(int i = 2;i <= iDriveNum;i++)  {   switch(i)   {   case 2:     DriveItem="D://";     break;   case 3:     DriveItem="E://";     break;   case 4:     DriveItem="F://";     break;   case 5:     DriveItem="G://";     break;   case 6:     DriveItem="H://";     break;   case 7:     DriveItem="I://";     break;   case 8:     DriveItem="J://";     break;   case 9:     DriveItem="K://";     break;   }

  nDiskType=GetDriveType(DriveItem);   if(nDiskType == DRIVE_FIXED)//DRIVE_RAMDISK   {    m_sDriveName[m_iDiskNum]=DriveItem; //m_sDriveName:存放固定磁盘盘符的字符串数组    m_iDiskNum++;//固定磁盘数量   }  } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值