这个问题有点奇怪。常规的方法解决不了,向大家求救!
我现在的方法:
方法一,用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]

解决方案 »

  1.   

    问题搞定了,还是权限的问题。
    大家以后碰到类似问题就知道为什么了。
    上面的两种访问方式都是以guest访问的,如果对方的guest没有打开,那么访问肯定失败。
    还有,如果即使对方的guest打开了,对方的登陆用户是administrator,而你的pc登陆的用户不是administrator,那么访问也会失败。
      

  2.   

    我在msn上面给了贴主一些提示,贴主要求我来接分。虽然觉得我并没有帮多少,主要靠贴主自己找出的问题,但是在贴主一再要求下,我只好厚颜无耻来接个分。下面的是MSN对话内容,以作证明。水晶龙(年关!又见年关!) 说:
    获得硬盘空间的我没做过,不大了解,而且你这个是局域网的部分,我不清楚能不能做。你看看会不会使局域网的认证的问题
    blueice(恭喜发财,红包拿来!)  说:
    局域网的认证没有问题,权限也是也许的
    水晶龙(年关!又见年关!) 说:
    是文件夹的安全设置吗
    blueice(恭喜发财,红包拿来!)  说:
    那我在另一台却可以得到
    水晶龙(年关!又见年关!) 说:
    在另一台可以得到局域网上机器的硬盘空间?
    blueice(恭喜发财,红包拿来!)  说:
    会不会和工作组有关系?
    水晶龙(年关!又见年关!) 说:
    你还是看看安全设置吧
    水晶龙(年关!又见年关!) 说:
    一台可以另一台不可以的话很可能是这个原因
    水晶龙(年关!又见年关!) 说:
    你看看访问用户在被访问的文件夹的安全设置中是否被允许
    blueice(恭喜发财,红包拿来!)  说:
    问题搞定了,还是权限的问题。