FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con codigo en c
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Ayuda con codigo en c
Posted: Mon Nov 16, 2009 02: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
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda con codigo en c
Posted: Tue Nov 17, 2009 12:14 AM
Alejandro,

Tendrias que concatenar los valores 1 y 2:
Code (fw): Select all Collapse
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
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: Ayuda con codigo en c
Posted: 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
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Ayuda con codigo en c
Posted: Tue Nov 17, 2009 11:25 AM
Alejandro,

Si quieres poner espacios puedes hacerlo asi:
Code (fw): Select all Collapse
strcpy( cmd, argv[ 1 ] );
strcat( cmd, " " );
strcat( cmd, argv[ 2 ] );

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

Antonio Linares
www.fivetechsoft.com

Continue the discussion