局域网上的硬盘空间问题!

blueice2002 2004-01-14 12:17:34
这个问题有点奇怪。常规的方法解决不了,向大家求救!
我现在的方法:
方法一,用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.FileSystemObject

Private 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$")).FreeSpace

End Sub

Private Sub Form_Load()
Set MyFSO = New FileSystemObject

End Sub


这两种方法在我的计算机上用都可以成功,但是换一台试就得不到结果。两台计算机的权限是一样的。
对于第二种方法出的错误是“找不到路径”

望高手们给点提示?问题出在哪里?
我不知道问题有没有描述清楚,如不清楚,msn在线blueiceblue@hotmail.com
...全文
71 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
blueice2002 2004-01-14
对了,如果取本地的,这两种方法都可以。
  • 打赏
  • 举报
回复
walkingpoison 2004-01-14
我在msn上面给了贴主一些提示,贴主要求我来接分。虽然觉得我并没有帮多少,主要靠贴主自己找出的问题,但是在贴主一再要求下,我只好厚颜无耻来接个分。下面的是MSN对话内容,以作证明。

水晶龙(年关!又见年关!) 说:
获得硬盘空间的我没做过,不大了解,而且你这个是局域网的部分,我不清楚能不能做。你看看会不会使局域网的认证的问题
blueice(恭喜发财,红包拿来!) 说:
局域网的认证没有问题,权限也是也许的
水晶龙(年关!又见年关!) 说:
是文件夹的安全设置吗
blueice(恭喜发财,红包拿来!) 说:
那我在另一台却可以得到
水晶龙(年关!又见年关!) 说:
在另一台可以得到局域网上机器的硬盘空间?
blueice(恭喜发财,红包拿来!) 说:
会不会和工作组有关系?
水晶龙(年关!又见年关!) 说:
你还是看看安全设置吧
水晶龙(年关!又见年关!) 说:
一台可以另一台不可以的话很可能是这个原因
水晶龙(年关!又见年关!) 说:
你看看访问用户在被访问的文件夹的安全设置中是否被允许
blueice(恭喜发财,红包拿来!) 说:
问题搞定了,还是权限的问题。
  • 打赏
  • 举报
回复
rushing 2004-01-14
haha
  • 打赏
  • 举报
回复
blueice2002 2004-01-14
没人回复,怎么给分啊
  • 打赏
  • 举报
回复
blueice2002 2004-01-14
问题搞定了,还是权限的问题。
大家以后碰到类似问题就知道为什么了。
上面的两种访问方式都是以guest访问的,如果对方的guest没有打开,那么访问肯定失败。
还有,如果即使对方的guest打开了,对方的登陆用户是administrator,而你的pc登陆的用户不是administrator,那么访问也会失败。
  • 打赏
  • 举报
回复
相关推荐
发帖
VB基础类

7617

社区成员

VB 基础类
社区管理员
  • VB基础类社区
加入社区
帖子事件
创建了帖子
2004-01-14 12:17
社区公告
暂无公告