关于CLISTBOX 的另类操作

今天在完善程序的时候,希望能够用到列表框来显示分区的信息,但是在网上查了一下,发现不好用,

于是,便有了下文吧,做个笔记,以后可能会用得到。。

 

//得到磁盘大小 的代码是这样的。。。

首先,我们当然先是获取到磁盘的信息,然后在是其他的操作:

得到磁盘信息比较简单,GetDiskFreeSpace(),就可以搞定了,

参数 1: 传入路径,默认情况是程序当前目录下的磁盘。。

2-4 都是具体的返回信息,可以参看 MSDN ,这里就不说了。。

 

然后就是 得到CListBox* 的指针了 ,我们在类中声明了一个这样的指针变量,

这里就是让它与 控件关联起来了。。。

最后输出就用到了格式转换了,其实挺简单的。。。

 

哦,对了,为了得到机器上所有的盘符,我用了一个循环 + 一个函数获取 作为判断,当不能获取信息时,我就知道

所有盘符已经得到,返回就 ok 了。。

 

这个系统工具还没有写完,应该还会有更好的方法。。。

期待完善。。。
void CDiskManage::GetDiskSize()
{
 BOOL bRet = TRUE;
 char buffer[100];
 DWORD dwSector1;
 DWORD dwSector2;
 DWORD dwSector3;
 DWORD dwSector4;
 

 CString m_strName1 = "C";

 memset(buffer, 0, sizeof(buffer));

 m_pList = (CListBox*)GetDlgItem(LST_DISK); 

 

 while (bRet)
 {
  CString m_strName2 = "://";
  m_strName2 = m_strName1 + m_strName2;

  bRet = GetDiskFreeSpace(m_strName2,
   &dwSector1,
   &dwSector2,
   &dwSector3,
   &dwSector4);
  
  if (bRet)
  {
   wsprintf(buffer, "%c  %d    %d    %d     %d",
    m_strName2[0], dwSector1, dwSector2, dwSector3, dwSector4);
   m_pList->AddString(buffer);
  }

  m_strName1 = m_strName1[0] + 1;
 }

 
 UpdateData(FALSE);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值