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

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

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

Mensaje 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!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

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

Mensaje 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.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

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

Mensaje 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!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

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

Mensaje 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
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder