CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

请问在VB里面获取硬盘信息的代码应该怎么编写?

楼主lluo666()2006-05-04 12:51:46 在 VB / 基础类 提问

我现在正在做一宾馆监控方面的系统,请问在VB里面获取硬盘信息的代码应该怎么编写?谢谢了 问题点数:20、回复次数:5Top

1 楼hank212(IT民工)回复于 2006-05-04 15:04:56 得分 0

Option   Explicit  
  Private   Type   LARGE_INTEGER  
      lowpart   As   Long  
      highpart   As   Long  
  End   Type  
   
  Private   Declare   Function   GetDiskFreeSpace   Lib   "kernel32"   Alias   "GetDiskFreeSpaceA"   (ByVal   lpRootPathName   As   String,   lpSectorsPerCluster   As   Long,   lpBytesPerSector   As   Long,   lpNumberOfFreeClusters   As   Long,   lpTotalNumberOfClusters   As   Long)   As   Long  
   
  Private   Declare   Function   GetDiskFreeSpaceEx   Lib   "kernel32"   Alias   "GetDiskFreeSpaceExA"   _  
  (ByVal   lpRootPathName   As   String,   lpFreeBytesAvailableToCaller   As   LARGE_INTEGER,   _  
  lpTotalNumberOfBytes   As   LARGE_INTEGER,   lpTotalNumberOfFreeBytes   _  
  As   LARGE_INTEGER)   As   Long  
   
   
  Private   Sub   Command1_Click()  
      Dim   lngSectors&  
      Dim   lngTotalCluster&  
      Dim   lngFreeCluster&  
      Dim   lngPerCluster&  
      Dim   lngperBytes&  
      Dim   lngSize#  
      GetDiskFreeSpace   "d:\",   lngPerCluster,   lngperBytes,   lngFreeCluster,   lngTotalCluster  
   
    '   MsgBox   CStr(lngTotalCluster   *   lngperBytes   *   lngPerCluster)  
      Debug.Print   lngTotalCluster,   lngperBytes,   lngPerCluster  
  End   Sub  
   
  Private   Sub   cmdStart_Click()  
  '用GetDiskFreeSpaceEx得到正确的容量  
      Dim   lngFreeCaller   As   LARGE_INTEGER  
      Dim   lngTotal   As   LARGE_INTEGER  
      Dim   lngTotalFree   As   LARGE_INTEGER  
      Dim   sngSize#  
   
      GetDiskFreeSpaceEx   "c:\",   lngFreeCaller,   lngTotal,   lngTotalFree  
  '以下用来显示出分区总容量(以G为单位)  
      MsgBox   GetSize(lngTotal)   /   2   ^   30  
  End   Sub  
   
  Private   Function   GetSize(lngSize   As   LARGE_INTEGER)   As   Single  
   
  '用来从LARGE_INTEGER型变量中换算出实际的大小  
  With   lngSize  
      If   .highpart   <   0   Then  
          GetSize   =   (2   ^   32   -   1   -   .highpart)   *   (2   ^   32   -   1)  
      Else  
          GetSize   =   .highpart   *   (2   ^   32   -   1)  
      End   If  
      If   .lowpart   <   0   Then  
          GetSize   =   GetSize   +   (2   ^   32   -   1   -   .lowpart)  
      Else  
          GetSize   =   GetSize   +   .lowpart  
      End   If  
  End   With  
  End   Function  
   
   
   
  Top

2 楼lluo666()回复于 2006-05-04 17:13:52 得分 0

hank212(IT民工)    
  你好,谢谢你了  
  我想获取的是容量信息,就是还剩多少空间,(MB)  
  代码应该怎么编写?  
  Top

3 楼ryuginka(一米八五的猪)回复于 2006-05-04 17:35:40 得分 0

WMI   libraryTop

4 楼lluo666()回复于 2006-05-04 19:31:32 得分 0

WMI   library  
  是什么?  
   
  Top

5 楼liuyuesoft(QQ:339596357)回复于 2006-05-07 12:48:12 得分 0

我以前是引用FSO...FileSystemObject  
  工程->引用->Microsoft   Scripting   Runtime->确定  
   
  然后  
  Dim   a   as   new   filesystemobject  
  然后..自己找了Top

相关问题

关键词

得分解答快速导航

  • 帖主:lluo666

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo