请问如何获取局域网内其它所有电脑的IP地址及MAC值及计算机名?谢谢。

解决方案 »

  1.   

    Private   Sub   Command1_Click()   
              Text1.Text   =   Winsock1.LocalIP   
              Text2.Text   =   Winsock1.LocalHostName   
              Winsock1.Close   
      End   Sub   
    注意引用winsock现在的计算机以及网络组成十分复杂。例如系统硬件方面就有主板、硬盘、网卡... 。 
    软件方面有操作系统、系统中安装的软件、正在运行的进程等等。网络方面有域、工作组 
    等等。利用WMI可以访问上面的全部信息,但是如果向上面一样的利用分项来访问的话会很 
    麻烦。为此,WMI提供了一种类似SQL语句的查询语句,可以通过查询语句获得WMI对象下的子项。 下面是一个遍历系统中安装的网卡并返回网卡MAC地址的代码: Private Function MACAddress() As String Set objs = GetObject("winmgmts:").ExecQuery( _ 
    "SELECT MACAddress " & _ 
    "FROM Win32_NetworkAdapter " & _ 
    "WHERE " & _ 
    "((MACAddress Is Not NULL) " & _ 
    "AND (Manufacturer <> " & _ 
    "‘Microsoft‘))") For Each obj In objs 
    MACAddress = obj.MACAddress 
    Exit For 
    Next obj 
    End Function 上面的代码获得WMI对象,然后运行ExecQuery执行一个WMI查询语句获得安装的网卡并返回 
    网卡的MAC地址。
      

  2.   

    Private   Sub   Command1_Click()    
              Text1.Text   =   Winsock1.LocalIP    
              Text2.Text   =   Winsock1.LocalHostName    
              Winsock1.Close    
      End   Sub    
    注意winsock属性INDEX值为“0”