这个问题有点奇怪。常规的方法解决不了,向大家求救!
我现在的方法:
方法一,用api:GetDiskFreeSpaceEx
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long
Private Sub Form_Load()
Dim r As Long, BytesFreeToCalller As Currency, TotalBytes As Currency
Dim TotalFreeBytes As Currency, TotalBytesUsed As Currency
'the drive to find
Const RootPathName = "\\192.168.100.89\C$\"
'get the drive's disk parameters
Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)
'show the results, multiplying the returned
'value by 10000 to adjust for the 4 decimal
'places that the currency data type returns.
Me.AutoRedraw = True
Me.Cls
Me.Print
Me.Print " C£ºÅÌ×Ü¿Õ¼ä:", Format$(TotalBytes * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌÊ£Óà¿Õ¼ä:", Format$(TotalFreeBytes * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌ×Ü¿ÉÓÿռä:", Format$(BytesFreeToCalller * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌÒÑÓÿռä :", Format$((TotalBytes - TotalFreeBytes) * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
End Sub方法二:用fso
Dim MyFSO As Scripting.FileSystemObjectPrivate Sub Command1_Click()
MsgBox MyFSO.GetDriveName("\\192.168.100.89\c$")MsgBox MyFSO.GetDrive(MyFSO.GetDriveName("\\192.168.100.89\c:"))
MsgBox MyFSO.GetDrive(MyFSO.GetDriveName("\\192.168.100.89\c$")).FreeSpaceEnd SubPrivate Sub Form_Load()
Set MyFSO = New FileSystemObjectEnd Sub
这两种方法在我的计算机上用都可以成功,但是换一台试就得不到结果。两台计算机的权限是一样的。
对于第二种方法出的错误是“找不到路径”望高手们给点提示?问题出在哪里?
我不知道问题有没有描述清楚,如不清楚,msn在线[email protected]
我现在的方法:
方法一,用api:GetDiskFreeSpaceEx
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long
Private Sub Form_Load()
Dim r As Long, BytesFreeToCalller As Currency, TotalBytes As Currency
Dim TotalFreeBytes As Currency, TotalBytesUsed As Currency
'the drive to find
Const RootPathName = "\\192.168.100.89\C$\"
'get the drive's disk parameters
Call GetDiskFreeSpaceEx(RootPathName, BytesFreeToCalller, TotalBytes, TotalFreeBytes)
'show the results, multiplying the returned
'value by 10000 to adjust for the 4 decimal
'places that the currency data type returns.
Me.AutoRedraw = True
Me.Cls
Me.Print
Me.Print " C£ºÅÌ×Ü¿Õ¼ä:", Format$(TotalBytes * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌÊ£Óà¿Õ¼ä:", Format$(TotalFreeBytes * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌ×Ü¿ÉÓÿռä:", Format$(BytesFreeToCalller * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
Me.Print " C£ºÅÌÒÑÓÿռä :", Format$((TotalBytes - TotalFreeBytes) * 10000 / 1024 / 1024, "###,###,###,##0") & " M bytes"
End Sub方法二:用fso
Dim MyFSO As Scripting.FileSystemObjectPrivate Sub Command1_Click()
MsgBox MyFSO.GetDriveName("\\192.168.100.89\c$")MsgBox MyFSO.GetDrive(MyFSO.GetDriveName("\\192.168.100.89\c:"))
MsgBox MyFSO.GetDrive(MyFSO.GetDriveName("\\192.168.100.89\c$")).FreeSpaceEnd SubPrivate Sub Form_Load()
Set MyFSO = New FileSystemObjectEnd Sub
这两种方法在我的计算机上用都可以成功,但是换一台试就得不到结果。两台计算机的权限是一样的。
对于第二种方法出的错误是“找不到路径”望高手们给点提示?问题出在哪里?
我不知道问题有没有描述清楚,如不清楚,msn在线[email protected]
解决方案 »
- Microsoft JET Database Engine 错误 '80040e14' FROM 子句语法错误。
- 请教高手:如何实现在EXE程序运行时禁止更改它的文件名?
- VB新手,请问一下:一个带form程序,可以做为dll用吗?为什么我老是会出问题?具体见内容
- 老题新问-关于Listbox显示不出数据库内容的问题
- 怎样在datagrid中插入行??
- 姓朱的同志们,问一个问题
- 讨论:VB能写出穿越网关的程序吗?(来者有分)
- 用vb 做一个可视可听可说的像netmeeting的东东,有何高招?
- 请问 VB如何对注册表操作?
- 请问样用什么样的提供者来打开VF的数据库?
- 求图片操作的思路!
- 数据库连接报错!驱动没找到!我安装了MADC2.5
大家以后碰到类似问题就知道为什么了。
上面的两种访问方式都是以guest访问的,如果对方的guest没有打开,那么访问肯定失败。
还有,如果即使对方的guest打开了,对方的登陆用户是administrator,而你的pc登陆的用户不是administrator,那么访问也会失败。
获得硬盘空间的我没做过,不大了解,而且你这个是局域网的部分,我不清楚能不能做。你看看会不会使局域网的认证的问题
blueice(恭喜发财,红包拿来!) 说:
局域网的认证没有问题,权限也是也许的
水晶龙(年关!又见年关!) 说:
是文件夹的安全设置吗
blueice(恭喜发财,红包拿来!) 说:
那我在另一台却可以得到
水晶龙(年关!又见年关!) 说:
在另一台可以得到局域网上机器的硬盘空间?
blueice(恭喜发财,红包拿来!) 说:
会不会和工作组有关系?
水晶龙(年关!又见年关!) 说:
你还是看看安全设置吧
水晶龙(年关!又见年关!) 说:
一台可以另一台不可以的话很可能是这个原因
水晶龙(年关!又见年关!) 说:
你看看访问用户在被访问的文件夹的安全设置中是否被允许
blueice(恭喜发财,红包拿来!) 说:
问题搞定了,还是权限的问题。