求教如何利用_WinNet_EnumResource查找网内所有计算机?
本帖最后由 oplmamik 于 2012-2-10 12:01 编辑如题,因帮助文档中没有_WinNet_OpenEnum、_WinNet_EnumResource、_WinNet_CloseEnum 相关函数的示例,所以来此求各种大神指教。
以下是我自己写的,可是无效。Local $hEnum, $iCount = -1, $iBufSize=1646, $rs
_WinNet_OpenEnum(1, 0, 0, 0, $hEnum)
$rs = DllStructCreate($tagNETRESOURCE)
_WinNet_EnumResource($hEnum, $iCount, DllStructGetPtr($rs), $iBufSize)
ConsoleWrite(DllStructGetData($rs,"Scope")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"Type")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"DisplayType")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"Usage")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"LocalName")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"RemoteName")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"Comment")&@CRLF)
ConsoleWrite(DllStructGetData($rs,"Provider")&@CRLF)
_WinNet_CloseEnum($hEnum) {:face (189):}没人理我啊??? 继续枚举网络资源.
#include <WinNet.au3> _WinNet_EnumResource($hEnum, ByRef $iCount, $pBuffer, ByRef $iBufSize)
参 数
$hEnum 标识枚举实例的句柄
句柄由 _WinNet_OpenEnum 函数返回.
$iCount 请求的条目数.如果请求数字为 -1,则函数返回尽可能多的条目.
如果函数成功, 返回的变量包含实际
读取条目数.
$pBuffer 接收枚举结果的缓冲区指针. 返回结果为 $tagNETRESOURCE 结构的数组.
该缓冲区必须大到足以容纳结构加上其成员字符串
直到下一次调用 $hEnum 指定的句柄, 缓冲区一直有效.
$tagNETRESOURCE 结构数组中的顺序是不可预测的.
$iBufSize 缓冲区的字节大小, 如果缓冲区太小, 甚至无法接受
一个条目, 该参数按缓冲区接收要求的大小.
返 回 值
成功: 返回 True
失败: 返回 False 开始枚举网络资源或现有的连接.
#include <WinNet.au3> _WinNet_OpenEnum($iScope, $iType, $iUsage, $pResource, ByRef $hEnum)
参 数
$iScope 枚举的范围:
0 - 枚举当前连接的所有资源
1 - 枚举网络上的所有资源
2 - 枚举所有记忆的(永久)连接
3 - 枚举在主叫方网络环境中唯一的资源
$iType 资源类型:
0 - 所有资源
1 - 磁盘资源
2 - 打印资源
$iUsage 资源使用类型:
0 - 所有资源
1 - 所有连接资源
2 - 所有容器资源
4 - 如果用户没有通过认证, 强制函数失败
$pResource $tagNETRESOURCE 结构指针, 指定枚举的容器. 如果 iScope 不
是 1, 这里必须是 0.如果为 0, 则假设为根网络.
$hEnum 可用于 WNet_EnumResource 调用的句柄
返 回 值
成功: 返回 True
失败: 返回 False 结束调用 WNetOpenEnum 启动的网络资源枚举.
#include <WinNet.au3> _WinNet_CloseEnum($hEnum)
参 数
$hEnum 枚举实例标识句柄
句柄由 WNet_OpenEnum 函数返回
返 回 值
成功: 返回 True
失败: 返回 False 回复 5# forxuan
谢谢。 这些我也知道。 可我不会用啊 大神何在啊??? 没人会么? 马上要沉了啊! 这么大个论坛就没人能给解决一下吗? 顶上,坐等高手。 悲催!!! 长期置顶 你的网用AD吗?
如果是的话我告诉你个方法 回复 13# 502762378
ADSL? 等待高手出现!!!
页:
[1]
2