网络编程我不懂,如何获取本机IP,主机名,MAC地址,哪些端口开放哪些端口关闭等问题,就是本机相关网络信息,怎么获得呢?谢谢大家帮忙。应该使用winsock控件么?还有,有个网友给了我以下程序,也能获得IP和MAC,但是好像没有用到WINSOCK网络编程,是什么原理呢?
Private Sub Command1_Click()
Dim strComputer As String
Dim objWMI      As Object
Dim colIP       As Object
Dim IP          As Object
Dim I           As Integer
   
strComputer = "."
Set objWMI = GetObject("winmgmts://" & strComputer & "/root/cimv2")
Set colIP = objWMI.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IP In colIP
    If Not IsNull(IP.IPAddress) Then
      For I = LBound(IP.IPAddress) To UBound(IP.IPAddress)
        MsgBox "IP 地址:" & IP.IPAddress(I) & Chr(10) & _
        "網卡類型:" & IP.Description(I) & Chr(10) & _
        "網卡地址:" & IP.Macaddress(I)
      Next
    End If
Next
End Sub

解决方案 »

  1.   

    这段代码是VB调用系统的WMI(Windows Management Interactive)获取你本地的系统信息。
    除了IP等信息,还可以获取操作系统,硬件(CPU, 物理内存,硬盘,各种驱动等等)等等信息。
    不过不是所有系统都支持,网上说只有Windows 2000/NT/XP,xp的我测试过了是可以的,其他的我就没测试了。
    至于WINSOCK网络编程,我不懂
      

  2.   

    获取ip机器名可以在form上添加一个winsock控件用winsock1.localname,winsock1.localip就可以获得mack就不太清楚了
    不过dos下可以
    运行cmd 打入ipconfig/all可以看到网络信息
    打入 netstat -an 查询开放端口