Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Cambiar direcciones IP y DNS de tarjeta red desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=22016)

ciscu 03-06-2005 19:08:29

Cambiar direcciones IP y DNS de tarjeta red desde delphi
 
Hola a todos!!!

¿Puedo cambiar las direcciones TCP/IP y DNS desde Delphi sin necesidad de ir a Conexiones de red -> Propiedades -> Protocolo Internet TCP/IP de Windows XP?

Agradecería una respuesta

Gracias anticipadas.

ciscu 06-06-2005 09:06:12

Donde puedo encontrar información sobre esto?

Gracias anticipadas.

ciscu 07-06-2005 12:30:02

Hola amigos!!!

Encontré la solución en la página http://msdn.microsoft.com/library/de...figuration.asp; está muy bien explicado como funciona el WMI (Windows Management Instrument), lo que pasa es que está escrito el código en Visual Basic.

Aquí inserto el código para cambiar direcciones IP y DNS sin necesidad de ir a propiedades de la conexión de red de windows:
Código:

strComputer = "."  ''''''el punto significa computadora local
strNetConn = "Conexión de área local"  '''''''nombre de la connexión de red

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colNics = objWMIService.ExecQuery("SELECT * FROM " & "Win32_NetworkAdapter WHERE NetConnectionID = '" & strNetConn & "'")

If colNics.Count > 0 Then    ''''si hay alguna connexión llamada 'Conexión de área local'
  For Each objNic in colNics
    Set colNicConfigs = objWMIService.ExecQuery ("ASSOCIATORS OF " & _
                "{Win32_NetworkAdapter.DeviceID='" & objNic.DeviceID & "'}" & " WHERE AssocClass=Win32_NetworkAdapterSetting")
               
      For Each objNicConfig In colNicConfigs
        WScript.Echo VbCrLf & "Tipus d'adaptador:" & objNic.AdapterType & "  Nombre de la connexión:" & objNic.NetConnectionID
                         
        If Not IsNull(objNicConfig.IPAddress) Then
          For Each strIPAddress in objNicConfig.IPAddress
            Wscript.Echo "  Adreça IP: " & strIPAddress
            strIPAddress = Array("172.16.0.20")
            strSubnetMask = Array("255.255.0.0")       
        strGateway=Array("172.16.0.1")
        strGatewayMetric = Array(1)  '''''si es (0) NO requiere reiniciar, si es (1) SÍ
        strDNS = Array(("50.88.10.43"),("50.88.12.56"))
                                       
        errEnable = objNicConfig.EnableStatic(strIPAddress, strSubnetMask)        errGateway=objNicConfig.SetGateways(strGateway, strGatewaymetric)
        errDNS = objNicConfig.SetDNSServerSearchOrder(strDNS)
          Next
        End If
      Next
  Next
Else
  WScript.Echo "No se puede encontrar el NetconnectID con nombre '" & strNetConn & "'." & _
  VbCrLf & "Si tiene el Windows 2000 o anteriores, la propiedad NetConnectionID no está habilitada."
End If

Este código lo escribo en el NOTEPAD.EXE, guardo cambios, renombro el archivo a "miarchivo.VBS" y lo ejecuto, y veréis como cambian las IP y DNS que le habéis dado.

Espero que sirva.

ciscu 07-06-2005 12:32:34

Hola, olvidé decir que luego abro el Delphi, creo un botón y ejecuto el archivo "miarchivo.VBS" con la función ShellExecute(......)

Hasta luego


La franja horaria es GMT +2. Ahora son las 04:18:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi