MFC 得到磁盘目录

函数GetLogicalDrives, 函数返回一个DWORD类型的值,第一位表示所对应的驱动器是否存在。一般情况下DWORD的数据长度是32位,在这个DWORD中,每一位对应了一个逻辑驱动器是否存在。第二位如果是“1”则表示驱动器“B:”存在,第四位如果是“1”则表示驱动器“D:”存在,以此类推。

函数GetLogicalDriveStrings,它返回一个代表所有驱动器字母的重要字符串。每一个驱动器字母拥有D:\(尾随一个‘\’)的形式,这里 D 表示驱动器盘符DODOWRD cchBuffer,缓冲区的大小,LPTSTR lpszBuffer,用于装载逻辑驱动器名称的字串。每个名字都用一个NULL字符分隔,在最后一个名字后面用两个NULL表示中止(空中止) 例如A:\<null>C:\<null><null>

例如:

DWORD dirlen = GetLogicalDriveStrings(0, NULL);                                                                           //获取字符串长度

HANDLE hp = GetProcessHeap();                                                                                                         //获取进程堆句柄

LPSTR pdir = (LPSTR)HeapAlloc(hp, HEAP_SERO_MEMORY, dirlen);               //在堆中分配空间

LPSTR ptmp = pdir;                                                                                              //一个临时指针

GetLogicalDriveStrings(dirlen, pdir);                                                                    //获取磁盘目录字符串

while(*pdir != 0)

{

m_Disk.Addstring(pdir);                                                                               //m_Disk是一个组合框

pdir = strchr(pdir, 0) + 1;                                                                              //查找下一个磁盘名称

}

HeapFree(hp, HEAP_NO_SERIALIZE, ptmp);                                                      //释放堆空间


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值