我想写一个程序,想获得四个(如果没有扩展分区的话)主分区所对应的盘符。
因为发现windows下可以随便设置盘符,所以希望编写一个程序,无论盘符怎么变化,都可以找到每个主分区使用的盘符。小问题,请大牛指点。明白就揭帖。

解决方案 »

  1.   

    TCHAR szBuf[1024];
    QueryDosDevice(_T("C:"), szBuf, sizeof(szBuf)/sizeof(TCHAR));根据szBuf 可以取得C盘对应的分区号用 GetLogicalDrives 取得有效盘
    遍历调用QueryDosDevice 就OK了
      

  2.   

    不太明白QueryDosDevice函数返回的是个什么东西,\device\HarddiskVolume1(2,3,4,5)。
    不知道楼上明白我的意思没有,我只是想知道硬盘上的几个主分区(不在乎逻辑分区)对应的盘符。
    也就是说,给我一个盘符,我要判断它是不是主分区,如果是主分区,我可能要对对应的主分区进行操作,而对于扩展分区,我并不在乎。