rt
解决方案 »
- 如何使用API捕捉WINDOWS另一个应用程序的句柄,然后向该应用程序的一个TEXTBOX里输入一串值,然后键入回车键(或是点击一个按钮),判断是否弹出一个ERROR对话框,如果是再回车,照此循环。
- Combo的气泡问题
- VB6, 用了webbrowser的navigation后,我的TextBox Enter KeyDown event无效了, 怎么回事?
- 大家来啊,进来留个联系方式,交流交流!!!
- 請問怎么樣用ADO實現數据庫的多表查詢﹖(包括ACCESS﹐SQL SERVER)
- 紧急求助,在线等待!!!!
- 有一用VB开发的ActiveX控件*.ocx,有办法通过该文件查看其VB源代码吗?谢谢
- 如何在程序中,设定打印页面的自定义大小?
- 如何在VB中通过声卡扑捉声频信号?
- 请教如何注册DLL文件?
- 在代码里面怎么设置窗体的背景呢?
- 请问在下拉列表框有没有事件来判定正被选中是哪个
Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As LongPrivate Sub Form_Load()
GetDriveInfo
End Sub' 选中一个驱动器时
Private Sub drvSelect_Change()
GetDriveInfo
End Sub' 获取磁盘剩余空间信息并显示在相应的标签中
Private Function GetDriveInfo()
Dim sDrive As String
Dim lBytes As Long
Dim lMBFree As Double
Dim lMBTotal As Double
Dim lSecPerClust As Long ' 扇区每簇
Dim lBytePerSect As Long ' 字节每扇区
Dim lNumFreeClust As Long ' 空白簇的数目
Dim lTotalNumClust As Long ' 簇的总数
' 获取盘符
sDrive = Left$(DrvSelect.Drive, 1)
sDrive = sDrive & ":\"
' 调用API函数返回剩余空间
lBytes = GetDiskFreeSpace(sDrive, lSecPerClust, lBytePerSect, lNumFreeClust, lTotalNumClust)
' 转换以兆为单位
lMBFree = ((lSecPerClust * lNumFreeClust) / 1024) * lBytePerSect / 1024
lMBTotal = ((lSecPerClust * lTotalNumClust) / 1024) * lBytePerSect / 1024
' 显示信息
lblSecPerClust.Caption = lSecPerClust & " Sectors/Cluster"
lblBytePerSect.Caption = lBytePerSect & " Bytes/Sector"
lblNumFreeClust.Caption = lNumFreeClust & " Free Clusters"
lblTotalNumClust.Caption = lTotalNumClust & " Total Clusters"
lblTotalSpace.Caption = lMBTotal & " MB Total Space"
lblSpaceFree.Caption = lMBFree & " MB Free on Drive " & DrvSelect.Drive
End Function
然后用 GetDiskFreeSpace 得到可用空间
Text1.text:盘符
labelT:总容量
labelF:自由空间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 LongPrivate Sub Command1_Click()
Dim a, b, c, d, free, total As Long
Dim disk As String
disk = Text1.Text
GetDiskFreeSpace disk, a, b, c, d
'计算磁盘总容量
total = d * b * a / 1024 / 1024
'计算磁盘自由空间
free = c * a * b / 1024 / 1024
'显示磁盘总容量与自由空间
LabT.Caption = total & "MB"
LabF.Caption = free & "MB"
End Sub