oplmamik 发表于 2012-2-9 15:32:31

求教如何利用_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)

oplmamik 发表于 2012-2-9 17:08:01

{:face (189):}没人理我啊???

forxuan 发表于 2012-2-9 17:28:25

继续枚举网络资源.


#include <WinNet.au3> _WinNet_EnumResource($hEnum, ByRef $iCount, $pBuffer, ByRef $iBufSize)



参 数
$hEnum 标识枚举实例的句柄
句柄由 _WinNet_OpenEnum 函数返回.
$iCount 请求的条目数.如果请求数字为 -1,则函数返回尽可能多的条目.
如果函数成功, 返回的变量包含实际
读取条目数.
$pBuffer 接收枚举结果的缓冲区指针. 返回结果为 $tagNETRESOURCE 结构的数组.
该缓冲区必须大到足以容纳结构加上其成员字符串
直到下一次调用 $hEnum 指定的句柄, 缓冲区一直有效.
$tagNETRESOURCE 结构数组中的顺序是不可预测的.
$iBufSize 缓冲区的字节大小, 如果缓冲区太小, 甚至无法接受
一个条目, 该参数按缓冲区接收要求的大小.



返 回 值
成功: 返回 True
失败: 返回 False

forxuan 发表于 2012-2-9 17:31:04

开始枚举网络资源或现有的连接.


#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

forxuan 发表于 2012-2-9 17:31:35

结束调用 WNetOpenEnum 启动的网络资源枚举.


#include <WinNet.au3> _WinNet_CloseEnum($hEnum)



参 数
$hEnum 枚举实例标识句柄
句柄由 WNet_OpenEnum 函数返回



返 回 值
成功: 返回 True
失败: 返回 False

oplmamik 发表于 2012-2-9 22:05:06

回复 5# forxuan


    谢谢。 这些我也知道。 可我不会用啊

oplmamik 发表于 2012-2-10 08:41:08

大神何在啊???

oplmamik 发表于 2012-2-10 10:42:32

没人会么?

oplmamik 发表于 2012-2-10 13:01:42

马上要沉了啊!

oplmamik 发表于 2012-2-10 14:32:24

这么大个论坛就没人能给解决一下吗?

oplmamik 发表于 2012-2-10 16:15:37

顶上,坐等高手。

oplmamik 发表于 2012-2-11 15:00:34

悲催!!! 长期置顶

502762378 发表于 2012-2-11 20:14:49

你的网用AD吗?
如果是的话我告诉你个方法

oplmamik 发表于 2012-2-11 22:14:49

回复 13# 502762378


    ADSL?

zyfzyj 发表于 2012-2-12 10:51:25

等待高手出现!!!
页: [1] 2
查看完整版本: 求教如何利用_WinNet_EnumResource查找网内所有计算机?