以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 可以历遍局域网内的所有计算机么? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9434) |
-- 作者:lihe60 -- 发布时间:2011/4/11 13:26:00 -- 可以历遍局域网内的所有计算机么? 有类似的代码么? for each a as computer in computers 代码 next [此贴子已经被作者于2011-4-11 13:28:30编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2011/4/11 14:36:00 -- 呵呵,没有,可以去网上查查vb.net或C#是否可以,如果可以,Foxtable也可以。 [此贴子已经被作者于2011-4-11 14:36:47编辑过]
|
-- 作者:lihe60 -- 发布时间:2011/4/11 14:47:00 -- @echo OFF
这是vb,还需要贺老师转换成foxtable。 |
-- 作者:狐狸爸爸 -- 发布时间:2011/4/11 14:50:00 -- 是VB吗? 我怎么就看不懂呢。 |
-- 作者:lihe60 -- 发布时间:2011/4/11 15:21:00 -- 我是从网上拷下来的,具体意思,我是不懂的。 |
-- 作者:wcs -- 发布时间:2011/4/11 22:57:00 -- 一定有的,可是我不懂! |
-- 作者:blackzhu -- 发布时间:2011/4/12 20:41:00 -- string UserIp = Request.UserHostAddress; //获取用户IP string UserPcName = System.Net.Dns.Resolve(UserIp).HostName; //根据IP获取用户电脑名 |
-- 作者:lihe60 -- 发布时间:2011/4/13 8:58:00 -- ===================枚举局域网上的所有计算机==================== Dim p_lngRtn As Long Dim p_lngEnumHwnd As Long Dim p_lngCount As Long Dim p_lngLoop As Long Dim p_lngBufSize As Long Dim p_atypNetAPI(0 To MAX_RESOURCES) As NETRESOURCE, p_atypNetAPI1(0 To MAX_RESOURCES) As NETRESOURCE Dim groupuser p_lngEnumHwnd = 0& p_lngRtn = WNetOpenEnum(dwScope:=RESOURCE_GLOBALNET, dwType:=RESOURCETYPE_ANY, dwUsage:=RESOURCEUSAGE_ALL, lpNetResource:=ByVal 0&, lppEnumHwnd:=p_lngEnumHwnd) If p_lngRtn = NO_ERROR Then p_lngCount = RESOURCE_ENUM_ALL p_lngBufSize = UBound(p_atypNetAPI) * Len(p_atypNetAPI(0)) p_lngRtn = WNetEnumResource(pEnumHwnd:=p_lngEnumHwnd, lpcCount:=p_lngCount, lpBuffer:=p_atypNetAPI(0), lpBufferSize:=p_lngBufSize) End If If p_lngEnumHwnd <> 0 Then Call WNetCloseEnum(p_lngEnumHwnd) End If p_lngRtn = WNetOpenEnum(dwScope:=RESOURCE_GLOBALNET, dwType:=RESOURCETYPE_ANY, dwUsage:=RESOURCEUSAGE_ALL, lpNetResource:=p_atypNetAPI(0), lppEnumHwnd:=p_lngEnumHwnd) If p_lngRtn = NO_ERROR Then p_lngCount = RESOURCE_ENUM_ALL p_lngBufSize = UBound(p_atypNetAPI) * Len(p_atypNetAPI(0)) p_lngRtn = WNetEnumResource(pEnumHwnd:=p_lngEnumHwnd, lpcCount:=p_lngCount, lpBuffer:=p_atypNetAPI(0), lpBufferSize:=p_lngBufSize) If p_lngCount > 0 Then For p_lngLoop = 0 To p_lngCount - 1 p_lngRtn = WNetOpenEnum(dwScope:=RESOURCE_GLOBALNET, dwType:=RESOURCETYPE_ANY, dwUsage:=RESOURCEUSAGE_ALL, lpNetResource:=p_atypNetAPI(p_lngLoop), lppEnumHwnd:=p_lngEnumHwnd) If p_lngRtn = NO_ERROR Then p_lngCount = RESOURCE_ENUM_ALL p_lngBufSize = UBound(p_atypNetAPI) * Len(p_atypNetAPI1(0)) p_lngRtn = WNetEnumResource(pEnumHwnd:=p_lngEnumHwnd, lpcCount:=p_lngCount, lpBuffer:=p_atypNetAPI1(0), lpBufferSize:=p_lngBufSize) If p_lngCount > 0 Then Dim i For i = 0 To p_lngCount - 1 \'------------------------如计算机机名不同本机名刚加入列表中------------------------------ groupuser = PointerToAsciiStr(p_atypNetAPI1(i).pRemoteName) If Right(groupuser, Len(groupuser) - 2) <> computername Then If lsv1.FindItem(Right(groupuser, Len(groupuser) - 2)) Is Nothing Then lsv1.ListItems.Add lsv1.ListItems.Count + 1, , Right(groupuser, Len(groupuser) - 2), , 2 Else If lsv1.FindItem(Right(groupuser, Len(groupuser) - 2)).SubItems(3) <> " " Then lsv1.FindItem(Right(groupuser, Len(groupuser) - 2)).SmallIcon = 1 End If End If End If Next i End If End If Next p_lngLoop End If End If If p_lngEnumHwnd <> 0 Then Call WNetCloseEnum(p_lngEnumHwnd) End If |
-- 作者:lihe60 -- 发布时间:2011/4/13 8:58:00 -- 这个是否有帮助? |
-- 作者:lihe60 -- 发布时间:2011/4/13 9:00:00 -- http://topic.csdn.net/t/20040826/17/3312796.html |