获取Windows磁盘目录C/C++
1.步骤
- 获取所有驱动器名称的总长度
- 申请接收缓冲区内存
- 获取驱动器目录存入申请的堆内存区
- 遍历接收缓冲区分离驱动器目录
- 释放内存空间
2、测试代码
void CTreeTestDlg::FindDisk()
{
// 获取系统分区驱动器字符串信息
size_t nSize = GetLogicalDriveStrings(0, NULL); // 驱动器总长度
TCHAR* pbuf = new TCHAR[1 + nSize]; // 缓冲区空间申请
GetLogicalDriveStrings(nSize, pbuf); // 获取驱动器目录
TCHAR* p = pbuf; // 临时指针,用于访问驱动器名称
size_t nLen = _tcslen(p); // 驱动名字(如C:\)字符串长度
while (nLen > 0)
{
// 插入到树形控件
m_tree.InsertItem(p, m_hItem);
// 计算下一个驱动器名称首地址
p += nLen + 1;
nLen = _tcslen(p);
}
delete []pbuf; // 释放缓冲区内存
}
3、测试效果

Posted By veis

浙公网安备 33010602011771号