分享

获取IP等信息方法较多,不过XP与WIN7有所不同

 正争 2014-10-20



  1. Sub 获取IP1()    'WIN7 专用
  2.     On Error GoTo err
  3.     Dim aa, bb As String, cc As String
  4.     Set wExec = CreateObject("WScript.Shell").Exec("%ComSpec% /c ipconfig")  '自己改目录
  5.     Do While wExec.Status = 0
  6.         DoEvents
  7.     Loop
  8.     result = wExec.StdOut.ReadAll
  9.     aa = Split(result, Chr(10))
  10.     For i = 0 To UBound(aa) - 1
  11.         cc = LTrim(aa(i))
  12.         If Left(cc, 2) = "IP" Or Left(cc, 2) = "子网" _
  13.            Or Left(cc, 2) = "默认" Then bb = bb & Chr(10) & cc
  14.     Next
  15.     MsgBox bb
  16. err:
  17. End Sub
复制代码


  1. Sub 获取IP2()    'XP专用
  2.     On Error GoTo err
  3.     Dim aa, bb As String, cc As String
  4.     Set wExec = CreateObject("WScript.Shell").Exec("%ComSpec% /c ipconfig")  '自己改目录
  5.     Do While wExec.Status = 0
  6.         DoEvents
  7.     Loop
  8.     result = wExec.StdOut.ReadAll
  9.     aa = Split(result, Chr(10))
  10.     For i = 0 To UBound(aa) - 1
  11.         cc = LTrim(aa(i))
  12.         If Left(cc, 2) = "IP" Or Left(cc, 2) = "Su" _
  13.            Or Left(cc, 2) = "De" Then bb = bb & Chr(10) & cc
  14.     Next
  15.     MsgBox bb
  16. err:
  17. End Sub
复制代码


  1. Sub 获取IP3()    'WIN 7和XP通用
  2.     On Error GoTo err
  3.     Dim aa, bb As String, cc As String
  4.     Set wExec = CreateObject("WScript.Shell").Exec("%ComSpec% /c ipconfig")  '自己改目录
  5.     Do While wExec.Status = 0
  6.         DoEvents
  7.     Loop
  8.     result = wExec.StdOut.ReadAll
  9.     aa = Split(result, Chr(10))
  10.     For i = 0 To UBound(aa) - 1
  11.         cc = LTrim(aa(i))
  12.         If InStr(Application.OperatingSystem, "6") Then
  13.             If Left(cc, 2) = "IP" Or Left(cc, 2) = "子网" _
  14.                Or Left(cc, 2) = "默认" Then bb = bb & Chr(10) & cc
  15.         Else
  16.             If Left(cc, 2) = "IP" Or Left(cc, 2) = "Su" _
  17.                Or Left(cc, 2) = "De" Then bb = bb & Chr(10) & cc
  18.         End If
  19.     Next
  20.     MsgBox bb
  21. err:
  22. End Sub
复制代码


  1. Sub 获取IP4()    '利用正则表达式:WIN 7和XP通用
  2.     On Error GoTo err
  3.     Dim result As String, regEx, str(1 To 3)
  4.     Set wExec = CreateObject("WScript.Shell").Exec("%ComSpec% /c ipconfig")  '自己改目录
  5.     Do While wExec.Status = 0
  6.         DoEvents
  7.     Loop
  8.     result = wExec.StdOut.ReadAll
  9.     Set regEx = CreateObject("VBSCRIPT.REGEXP")    '建立正则表达式对象
  10.     regEx.Global = True    '搜索多个对象
  11.     regEx.Pattern = "\d{1,3}\.+\d{1,3}\.+\d{1,3}\.+\d{1,3}"    '按IP地址分布规律取值
  12.     Set colMatches = regEx.Execute(result)
  13.     MsgBox "IP地址:" & vbTab & colMatches(0) & Chr(10) & "子网掩码:" & vbTab & colMatches(1) & Chr(10) & "默认网关:" & vbTab & colMatches(2)
  14.     Set regEx = Nothing
  15. err:
  16. End Sub
复制代码


  1. Sub GetIP_SubNet_Gatway()  '利用WMI获取:WIN 7和XP通用
  2.     Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2")
  3.     Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration")
  4.     For Each objNetAdapter In colNetAdapters
  5.         If TypeName(objNetAdapter.IPAddress) <> "Null" Then
  6.             MsgBox "您的IP:........:" & objNetAdapter.DefaultIPGateway(0) & Chr(13) _
  7.                  & "子网掩码:........:" & objNetAdapter.IPAddress(0) & Chr(13) _
  8.                  & "默认网关:........:" & objNetAdapter.IPSubnet(0)
  9.             Exit Sub
  10.         End If
  11.     Next
  12. End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多