关于枚举局域网内的计算机,WNetEnumResource不能枚举所有的计算机,有其他办法吗?
WNetEnumResource枚举资源应该是和网上邻居的显示的效果一样。并不能找到所有的资源。如果用ping的话,很容易被屏蔽掉。
WNetEnumResource如何能找到所有的资源(为什莫有的资源找不到)?
有什莫其他的办法吗?
[解决办法]
WNetEnumResource需要用递归方式才参列取内部网的所有资源,网络提供者,工作组,计算机以及共享文件夹,
DWORD WNetEnumResource(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD ufferSize)
其中hEnum是当前需要列举的资源句柄,如果是第一级列举,则为NULL,
lpcCount是列举类型
lpBuffer是LPNETRESOURCE结构指针,里面包含了资源名称,类型等参数.如果hEnum不为空,可以进行下一次列举,为空则不能进行下一次列举
在ping内部网的计算机时,要对方的计算机没有开防火墙且开放ping服务才行
WNetEnumResourcet和LPNETRESOURCE具体参数请参见MSDN ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/wnet/wnet/wnetenumresource.htm
[解决办法]
我给你一DEMO,123flw@163.com
[解决办法]
向整个网段 发送arp包,然后有回应的就是这台机器存在,有防火墙也没辙