Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Cambiar propiedades de TPC IP desde código (https://www.clubdelphi.com/foros/showthread.php?t=76062)

Rolando Glez 06-10-2011 17:40:45

Cambiar propiedades de TPC IP desde código
 
Hola amigos hay un fichero con extension cpl en WINDOW XP que es el encargado de cambiar las propiedades de redes entre ellas esta el protocolo TPC IP bueno se podrá cambiar estos valores es decir # ip,puerta de enlace, etc por codigo delphi de forma fija es decir sin interactuar con una interface como lo hace el programa cpl de Windows ,

chaloc 09-10-2011 01:41:48

mmm pues mediante la api lo desconozco, yo sabia hacerlo con ms-dos pero cuando me vi obligado a realizarlo con delphi para una aplicación aca en el trabajo realicé cree un archivo bat que realiza el cambio lo ejecuto y luego lo elimino. Se que es un método poco ortodoxo pero funciona, espero que los genios del club puedan darte otra solución, esto es lo que hice:

meti este código en un boton
Código Delphi [-]
var   F: TextFile; //archivo bat que crearemos   
ruta: string; //ruta del archivo creado  
 ruta := ExtractFilePath(application.ExeName); //obtenemos la ruta de nuestro ejecutable    
ruta:= ruta + '/cambiarip.bat'; 
//Creamos el archivo con la ruta obtenida    
AssignFile(F, ruta);   
 Rewrite(F);  
//Ponemos las lineas necesarias a nuestro bat    
writeln(F, '@echo off');    
writeln(F, 'cls');   
writeln(F, 'Echo La operacion ha comenzado');    
writeln(F, 'Echo no cierre esta ventana'); 
//"Conexion de area local" es el nombre de tu conexion IpRed.text contiene la ip, ponemos la máscara de subred y la puerta de enlace (puertaRed.text)     
writeln(F, 'netsh interface ip set address "Conexion de area local" static '+ IpRed.text + '  255.255.255.0 '+ puertaRed.text + ' 1'); 
//cambiamos el dns preferido y alternativo    
writeln(F, 'netsh interface ip set dns "Conexion de area local" static ' + DnsPreRed.text);    
writeln(F, 'netsh interface ip add dns "Conexion de area local" addr=' + DnsAltRed.text);    
writeln(F, 'Echo Ips cambiadas, gracias'); //cerramos archivo    CloseFile(F); 
//lo ejecutamos   
 WinExec(PChar('cambiarip.bat'),SW_SHOWNORMAL);


Espero que te sirva

Rolando Glez 12-10-2011 16:36:07

Ingenioso por chaloc
 
Muchas gracias Chaloc he resuelto con su sugerencia, no será ortodoxa pero funsiona correctamente


La franja horaria es GMT +2. Ahora son las 20:07:57.

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