Ayuda con codigo en c

Ayuda con codigo en c

Postby TecniSoftware » Mon Nov 16, 2009 2:13 pm

Arme el ejemplo para actualización automática que mencionaron aqui http://bielsys.blogspot.com/2009/04/actualizacion-automatica-de.html
y me funcionó perfectamente.
El único problema es que yo personalmente, necesito re-arrancar mi aplicación pero enviándole un parámetro "/SERVER" y como no tengo muchos conocimientos de c, no se como hacerlo:

Este es el código para actver.c que es parte del truco ( borra el ejecutable en uso y renombra el archivo descargado de internet ) y lo unique que atiné, fue a sacar el winexec ya que si no le envio el parametro /SERVER a mi no me sirve.
Como habria que hacer para poder enviarle un parametro a WinExec ? seria mediante mediante argv[2] ?
Tendria que ejecutar argv[1] /SERVER

int main( int argc, char *argv[])
{
// printf( argv[1] );
Sleep(700);
DeleteFile( argv[1] );
rename( "tmp.exe",argv[1] );
// WinExec( argv[1], 1 ) ; // Aqui es donde necesito el parametro
return EXIT_SUCCESS;
}

Antonio: por favor, podrias eliminar este post, asi no queda duplicado? http://forums.fivetechsupport.com/viewtopic.php?f=6&t=17365#p90343

Muchas gracias!
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
TecniSoftware
 
Posts: 235
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: Ayuda con codigo en c

Postby Antonio Linares » Tue Nov 17, 2009 12:14 am

Alejandro,

Tendrias que concatenar los valores 1 y 2:
Code: Select all  Expand view

char cmd[ 200 ];

strcpy( cmd, argv[ 1 ] );
strcat( cmd, argv[ 2 ] ); // añade argv[ 2 ] al final del contenido de cmd (en donde este el cero, que indica fin de cadena)

WinExec( cmd, 1 ) ;
 

No borro el post como me pides, pues ya hay respuestas. Podemos enlazar aquel a este o viceversa :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42079
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ayuda con codigo en c

Postby TecniSoftware » Tue Nov 17, 2009 10:44 am

Gracias Antonio!

O sea que en cmd quedaria la concatenacion de argv[1] y argv[2], pero no deberia haber un espacio entre ambos? por que argv[1] es el nombre del
fichero y argv[2] es "/SERVER" ???

En realidad me equivoque, quise decir que borraras mi comentario, no el post ya que es de otra persona.

Muchas gracias!
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
TecniSoftware
 
Posts: 235
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Re: Ayuda con codigo en c

Postby Antonio Linares » Tue Nov 17, 2009 11:25 am

Alejandro,

Si quieres poner espacios puedes hacerlo asi:
Code: Select all  Expand view

strcpy( cmd, argv[ 1 ] );
strcat( cmd, " " );
strcat( cmd, argv[ 2 ] );
 

strcat() es similar a usar "+" con cadenas :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42079
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 50 guests