欢迎来到我的博客https://www.cnblogs.com/veis/

https://www.cnblogs.com/veis/p/14182037.html

获取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 @ 2020-05-25 13:25  veis  阅读(1300)  评论(0编辑  收藏  举报