现在的位置: 首页 > 综合 > 正文

获取磁盘空间信息(十四)

2014年03月05日 ⁄ 综合 ⁄ 共 1316字 ⁄ 字号 评论关闭

 

获取磁盘空间信息(十四)
本文讲述如何获取磁盘信息。
1.      创建一个对话框工程:DiskSpace
2.      添加一个List Control控件,用来显示信息。
3.      添加一个图标,用来显示每个盘。
4.      OnInitDialog()添加以下实现:
       m_disklist.SetExtendedStyle(LVS_EX_GRIDLINES);
       m_disklist.InsertColumn(0,"磁盘驱动器",LVCFMT_LEFT,150);
       m_disklist.InsertColumn(1,"驱动器大小",LVCFMT_LEFT,150);
       imglist.Create(16,16,ILC_COLOR32|ILC_MASK,0,0);
       imglist.Add(::AfxGetApp()->LoadIcon(IDI_DISK));
       m_disklist.SetImageList(&imglist,LVSIL_SMALL);
       DWORDsize;
       size = ::GetLogicalDriveStrings(0,NULL);
       if(size!= 0)
       {
              HANDLEheap = ::GetProcessHeap();
              LPSTRlp = (LPSTR)HeapAlloc(heap,HEAP_ZERO_MEMORY,size*sizeof(TCHAR));
              ::GetLogicalDriveStrings(size*sizeof(TCHAR),lp);
              while(*lp!=0)
              {
                     m_disklist.InsertItem(0,lp,0);
                     lp = _tcschr(lp,0)+1;
              }
       }
       ULARGE_INTEGERtotalsize;
       ULARGE_INTEGERfreesize;
       ULARGE_INTEGERavailablesize;
       intnumm_disklist.GetItemCount();
       for(inti = 0;i<num;i++)
       {
              CStringstr,temp;
              str = m_disklist.GetItemText(i,0);
              ::GetDiskFreeSpaceEx(str,&totalsize,&freesize,&availablesize);
              temp.Format("%ld千字节",totalsize.QuadPart/1024);
              m_disklist.SetItemText(i,1,temp);
       }
完成,运行即可。
 
 
 

 

抱歉!评论已关闭.