Página 1 de 1

Crear aplicaciones que se ejecuten por línea de comandos o i

Publicado: 03 Dic 2010, 15:21
por Jonny
Hola

¿Como se hace, para que una aplicación además de ejecutarse normalmente (desde el explorer de Windows) y aparezca la interfaz gráfica, pueda ejecutarse por línea de comandos, recibiendo argumentos.

Se, que para compilar un programa que admita argumentos al ejecutarlo, deben ponerse las directivas:

Código: Seleccionar todo

#AutoIt3Wrapper_outfile=Programa.exe
#AutoIt3Wrapper_Change2CUI=y
Pero esto si no recuerdo mal, no dejaría que la aplicación se ejecutara como GUI ¿Verdad?...

La idea es, que por ejemplo:

Si se abre normalmente desde el explorer de Windows, con doble click, aparezca la interfaz del programa, con por ejemplo, un edit para introducir el usuario y otro para la contraseña de un logueo. pero, si se ejecuta desde el CMD, con algo como:
Programa.exe -u usuario -p password
El programa respondiera (sin mostrar interfaz) si el logueo ha sido correcto o no.

Acias,

salu2!

Re: Crear aplicaciones que se ejecuten por línea de comandos o i

Publicado: 03 Dic 2010, 16:45
por Chefito
De este tema ya se ha hablado más de una vez: http://www.emesn.com/autoitforum/viewto ... Line#p9180

Para que te muestre o no la gui, pues muy sencillo, condicionar la creación de la gui mirando si la variable $CmdLine[0] tiene algún argumento o si $CmdLineRaw contiene algo, según la que utilices para recuperar los parámetros.

Saludos.

Re: Crear aplicaciones que se ejecuten por línea de comandos o i

Publicado: 03 Dic 2010, 17:17
por Jonny
Hola

Bien, si es así de fácil, ¡perfecto!

La duda era, si compilando con

Código: Seleccionar todo

#AutoIt3Wrapper_Change2CUI=y
que compila en modo consola, se mostraría la GUI.

Salu2!

Re: Crear aplicaciones que se ejecuten por línea de comandos o i

Publicado: 07 Dic 2010, 09:46
por Ximorro
Si pones el modo consola SÍ sale el GUI. La verdad es que es tan fácil como probarlo ;-)

Las diferencias son otras:
.- En modo normal la salida estándar no es capturada por la consola, así que por ejemplo los textos mandados por ConsoleWrite desde un script compilado en modo GUI no salen por la ventana de la consola. Al menos se pueden redirigir a un fichero. En modo CUI salen normalmente por la consola.
.- En modo CUI el programa bloquea la ventana de consola hasta que termina. En modo GUI no es bloqueante, sale enseguida aunque esté en ejecución (para explicarlo en términos AutoIt es como si el primero se ejecutara con RunWait y el segundo con Run, para que nos entendamos).

Quizás haya más diferencias que no he visto...

La toma de parámetros es como te ha puesto Chefito, en eso son iguales los dos modos.

Ciao