各位大侠,在本机通过GetDiskFreeSpace可以获得本机磁盘容量,
但如何使用GetDiskFreeSpace来得到局域网内某一台机器的磁盘容量?
是否要对lpRootPathName进行修改啊
怎么修改?(假如你已经知道了IP地址了)
但如何使用GetDiskFreeSpace来得到局域网内某一台机器的磁盘容量?
是否要对lpRootPathName进行修改啊
怎么修改?(假如你已经知道了IP地址了)
参考
http://asp3.6to23.com/tgoodnet/xtmblw/IT/VB.htm
Dim fs, d, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(drvpath)))
s = "Drive " & d.DriveLetter & ":"
s = s & vbCrLf
s = s & "Total Size: " & FormatNumber(d.TotalSize / 1024, 0) & " Kbytes"
s = s & vbCrLf
s = s & "Available: " & FormatNumber(d.AvailableSpace / 1024, 0) & " Kbytes"
MsgBox s
End Sub
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
是否要对lpRootPathName进行修改啊
怎么修改?(假如你已经知道了IP地址了)将机器的硬盘共享即可
知道ip好像不行
麻烦大家详细告知一下啊!!
sdrive="h:\"即可
如果有driver控件,会自动列出所有的盘符
sDrive = Left$(DrvSelect.Drive, 1)
sDrive = sDrive & ":\"