• Sábado 14 de Diciembre de 2024, 12:05

Autor Tema:  Ejecutable Que Se Copie Asi Mismo  (Leído 1245 veces)

Zuzunaga

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Ejecutable Que Se Copie Asi Mismo
« en: Sábado 2 de Diciembre de 2006, 14:58 »
0
¿Como hago para hacer que un ejecutable se copie asi mismo sin importar que le cambies el nombre,porq para para el manejo de archivos en C ,requiere un nombre fijo!!!RAYOS!!! y es un problrma cuando le cambias el nombre al ejecutable.? :angry:

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Ejecutable Que Se Copie Asi Mismo
« Respuesta #1 en: Sábado 2 de Diciembre de 2006, 15:57 »
0
El nombre del ejecutable lo puedes obtener de la línea de comandos:

Código: Text
  1.  
  2. int main( int argc, char* argv[] ) {
  3.   for ( int i = 0; i < argc; i++ ) {
  4.     cout << argv[ i ] << endl;
  5.   }
  6.  
  7.   return 0;
  8. }
  9.  
  10.  

En argv[ 0 ] siempre tienes la ruta completa del ejecutable, si sólo quieres el nombre del ejecutable recorrerías hacia atrás hasta encontrar el primer indicador de directorio/carpeta (\ en Windows, / en otros como Linux/Unix).

Si trabajas en Windows, la función GetCommandLine te devuelve la línea de comandos y de allí podrías extraer el nombre del ejecutable, aunque creo que debe existir una función en la API de Windows que ya haga lo que quieres :).

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ejecutable Que Se Copie Asi Mismo
« Respuesta #2 en: Sábado 2 de Diciembre de 2006, 17:52 »
0
Si es para consola en Windows con argc y argv va perfecto, de otra manera junto a GetCommandLine, como bien dice Geo, podes usar CommandLineToArgvW para conseguir argc y argv (en Unicode):

http://msdn2.microsoft.com/en-us/library/ms647232.aspx

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.