枚举网络资源!

糊里糊涂 2000-06-08 01:37:00
我想编一枚举网络资源的程序。部分原代码如下:
Dim hEnum As Long, lpBuff As Long, nr As NETRESOURCE
Dim cbBuff As Long, cCount As Long
Dim p As Long, res As Long, i As Long

nr.dwUsage = RESOURCEUSAGE_CONTAINER
nr.lpRemoteName = 0
cbBuff = 200 * Len(nr)
cCount = &HFFFFFFFF

res = WNetOpenEnum(RESOURCE_CONNECTED, RESOURCETYPE_ANY, _
0, nr, hEnum)
If res = 0 Then

lpBuff = GlobalAlloc(GPTR, cbBuff)
res = WNetEnumResource(hEnum, cCount, lpBuff, cbBuff)
我在跟踪调试时,程序运行到这里,res值为487,请问各位高手问题出在那里,该如何解决?
...全文
192 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
糊里糊涂 2001-02-07
  • 打赏
  • 举报
回复
我已经编出了VC版的网络资源管理程序 .
糊里糊涂 2000-06-08
  • 打赏
  • 举报
回复
uni1,按你的指点没能解决问题,还有其他方法吗?可否有人给我解释一下出错的原因?
Un1 2000-06-08
  • 打赏
  • 举报
回复
需要lock一下:
.hData = GlobalAlloc(GMEM_MOVEABLE Or GMEM_SHARE Or GMEM_ZEROINIT, Size) ' Allocate Global Memory
.lpData = GlobalLock(.hData) ' Lock Memory handle

GlobalAlloc返回的只句柄,不是地址。其实在vb中如果不用句柄的话最好使用比特数组bt , 对于api的lpData传入bt(0)就行了,这样做的好处是简单,而且用完后vb会自动清理。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧