Comunidad de diseño web y desarrollo en internet

Maximizar, centrar y extender un .EXE de Flash con Actionscript

Este tutorial tiene como fin ayudar a quienes necesiten perfeccionar o aumentar las posibilidades de las presentaciones .EXE hechas en Flash, sobre todo para CDs Multimedia.

Extending Flash son una serie de aplicaciones realizadas para ampliar los recursos de las presentaciones ejecutables de Flash y nos permiten lograr resultados que antes no conseguíamos.

Las posibilidades que nos van a ofrecer son:

  • Mover cualquier ventana con cierta palabra clave al fondo en el “orden z”.
  • Mover cualquier ventana con cierta palabra clave al frente en el “orden z” y anclarlo.
  • Reposicionar una ventana en el centro de la pantalla.
  • Cambiar el estado de una ventana a maximizado, minimizado o normal.
  • Cerrar una ventana o aplicación que contenga cierta palabra clave.
  • Invocar acciones Shell para un determinado programa o archivo.
  • Ejecutar el protector de pantalla actual.
  • Cambiar el Papel Tapiz o WallPaper usando una imagen válida.
  • Ejecutar una ventana escondida.

¿Cómo empezar?

Para empezar hay que descargar los programas de Extending Flash incluidos con los archivos de éste tutorial (abajo).

  • En el archivo .ZIP están incluidos los nueve archivos ejecutables y los archivos batch para correrlos. Todos en un directorio llamado “fscommand”.
  • También un .ZIP con el programa Quick Batch File Compiler.
  • Y además de un archivo .FLA como ejemplo.

De todos modos se puede descargar el software de Extending Flash y su información original (en inglés) en su sitio web: http://www.extendingflash.com

¿Cómo funciona esto?

  • En el mismo directorio que tenemos nuestro archivo SWF creamos un directorio llamado “fscommand”. Éste directorio es necesario crearlo en éstas condiciones y con éste nombre para poder ejecutar aplicaciones externas desde Flash.
  • En el directorio “fscommand” van guardados el/los archivos ejecutables que necesitemos .
  • También van en este directorio los archivos batch o .BAT para llamar a estas aplicaciones con sus parámetros.
  • Para finalizar, en nuestra presentación Flash vamos a llamar a estas aplicaciones de la siguiente forma:
//Podemos poner éste código en un frame de la presentación para que se ejecute 
//automático o en cierto evento de botón.

fscommand("EXEC","aplicacion.bat");
  • A partir de llamar ésta instrucción con fscommand el resto de los parámetros los vamos a modificar en los archivos .BAT.

Todas estas aplicaciones necesitan ser ejecutadas con parámetros, si no se especifica ninguno, fallarán de modo silencioso, sin acontecer nada...

¿Cómo Mover cualquier ventana que tenga cierto “keyword” al fondo en el “orden z”?

Para esto vamos a usar la aplicación BOTTOM. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","bottom.bat");
}

Entramos en el directorio “fscommand” y, si no lo tenemos hecho, creamos con el Bloc de Notas un archivo llamado “bottom.bat”, que tiene que tener la siguiente línea:

start bottom.exe Flash

start bottom.exe : Hace que se reproduzca el archivo.

Flash : Ésta palabra es la que se usa como pattern o guía para saber cual es la ventana/s a la que se le va a aplicar la acción anterior.

Por defecto, las presentaciones que hagamos con Flash, van a tener como título: Macromedia Flash Player 8.0 . Por lo que al encontrar la palabra Flash, entre otras, en el título, ya va a ser suficiente para que se apliquen las opciones de estado de ventana.

En lo personal, yo nunca dejo éste título, sino que lo cambio por un título más apropiado para mi presentación con RES HACK (Resource Hacker).

Recordar entonces, si hacen esto también, de cambiar Flash por una palabra correspondiente al nuevo título.

Por ejemplo yo usé de título la frase “Las Canciones de Daniel”. Y mi archivo .BAT quedó así:

start bottom.exe Canciones

Como resultado la/s ventana/s que tengan la “palabra clave” van a quedar en el fondo del eje z.

El Tutorial de Quitando "Acerca de Macromedia..." de los proyectores de Flash publicado por Cristalab tiene una buena referencia del uso de RES HACK.

¿Cómo Mover cualquier ventana que tenga cierto “keyword” al frente en el “orden z” y anclarlo?

Para esto vamos a usar la aplicación TOPMOST. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","topmost.bat");
}

Y en el archivo .BAT la siguiente línea:

start topmost.exe Flash

Recordar que Flash es la palabra clave de la ventana que queremos afectar.

¿Cómo centrar en la pantalla una ventana de Flash?

Para esto vamos a usar la aplicación CENTER. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","center.bat");
}

Y en el archivo .BAT la siguiente línea:

start center.exe Flash

Recordar que Flash es la palabra clave de la ventana que queremos afectar.

¿Cómo cambiar el estado de una ventana a maximizado, minimizado o normal?

Para esto vamos a usar la aplicación WINSTATE. En el evento de un frame o en la acción de un botón ponemos lo siguiente:

fscommand("EXEC","winstate.bat");

Y en el archivo .BAT una de las siguientes líneas:

start winstate.exe max Flash(para maximizar la pantalla) start winstate.exe min Flash (para minimizar la pantalla) start winstate.exe show Flash (para restaurar tamaño original de la pantalla)

Recordar que Flash es la palabra clave de la ventana que queremos afectar.

¿Cómo cerrar una ventana que tenga cierto titulo?

Para esto vamos a usar la aplicación KILL. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","kill.bat");
}

Y en el archivo .BAT la siguiente línea:

start kill.exe Internet

Recordar que Internet es la palabra clave de la ventana que queremos afectar. Con esto podemos cerrar una ventana de Internet Explorer que hayamos abierto anteriormente, por ejemplo.

¿Cómo invocar acciones Shell (Comandos de DOS) para un archivo específico?

Para esto vamos a usar la aplicación INVOKE. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","invoke.bat");
}

Y en el archivo .BAT la siguiente línea (Solo copia el texto en azul, no el negro):

start invoke.exe open file.pdf (Abrirá el archivo PDF que definamos con su visualizador por defecto. Si no hay ninguno instalado o no es compatible, INVOKE fallará sin mostrar resultados)

start invoke.exe print file.txt (enviará el archivo file.txt a la impresora predeterminada usando el programa de archivos .TXT, Block de Notas por defecto)

start invoke.exe open http://www.cristalab.com (es una alternativa al método getURL().)

Para ver que opciones pueden ser llamadas por INVOKE para cada archivo, como por ejemplo: open, explore (para carpetas), print, install o edit. Podés fijarte en el menú de una carpeta en:

Herramientas > Opciones de Carpeta > Tipos de Archivos > Elegir el tipo de archivo que querés ver las opciones > Opciones Avanzadas.

¿Cómo Ejecutar el protector de pantalla actual?

Para esto vamos a usar la aplicación SAVER. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","saver.bat");
}

Y en el archivo .BAT la siguiente línea:

start saver.exe

Esto ejecuta el protector de pantalla actual. Esto te provee de una forma de probar tu protector de pantalla.

¿Cómo cambiar el Fondo de Pantalla, Papel Tapiz o WallPaper?

Para esto vamos a usar la aplicación WALLPAPR. En el evento de un botón ponemos lo siguiente:

on(release) {
	fscommand("EXEC","wallpapr.bat");
}

Y en el archivo .BAT la siguiente línea:

start wallpapr.exe (Sin especificar ningún archivo, se borra el fondo de pantalla)

start wallpapr.exe tile c:\\image.bmp (Define image.bmp como fondo de pantalla, con la opción “tile” aparecerá como motivos repetidos)

start wallpapr.exe center c:\\image.bmp (Define image.bmp como fondo de pantalla, con la opción “center” aparecerá centrado)

start wallpapr.exe stretch c:\\image.bmp (Define image.bmp como fondo de pantalla, con la opción “stretch” aparecerá la imagen estirada hasta ocupar toda la pantalla)

¿Cómo eliminar el pestañeo de ventanas de DOS cuando ejecutamos una de éstas aplicaciones?

Al usar las aplicaciones anteriores, habrán de notar, que siempre al ejecutarse un archivo .BAT aparece el “pestañeo” de una ventana de DOS que confirma que se ha ejecutado el comando. Lo cual no siempre luce muy estético…

Para solucionar esto vamos a usar la aplicación RUNHIDE, que permite ejecutar una aplicación en modo “Ghost” u oculto. RUNHIDE va a llamar al archivo .BAT que queramos abrir y no veremos ese “pestañeo”.

Pero nos encontramos con una pequeña complicación: para ejecutar RUNHIDE con sus parámetros, normalmente usaríamos un archivo .BAT, por lo cual sólo agregaríamos un pestañeo y esconderíamos otro, por lo cual, nos quedaría igual.

Para solucionar esto vamos a tener que hacer uso de una pequeña trampa: convertiremos el archivo .BAT a un archivo .EXE.

Para hacer esto pueden usar un convertidor como “Quick Batch File Compiler” que permite convertir los archivos de .BAT a .EXE de forma muy sencilla y con la opción “Ghost” que necesitamos para eliminar el “pestañeo”.

Entonces en Flash el evento de un botón nos queda de ésta forma:

//yo llamé al archivo .BAT con las instrucciones
// para RUNHIDE como runhbatch.exe

on(release) {
	fscommand("EXEC","runhbatch.exe");
}

Y en el archivo .BAT, que luego convertiremos a .EXE la siguiente línea:

start runhide.exe aplicación.bat

Modo "ghost" para eliminar el parpadeo.

Si, tal vez hayas notado que teniendo la posibilidad de convertir los archivos .BAT a .EXE con el modo “ghost” vas a eliminar el parpadeo sin necesidad de RUNHIDE. Es verdad, lo único que tendrías que hacer es llamar directamente desde Flash al nuevo ejecutable compilado.

¿Y por qué nos enloqueceríamos usando una aplicación de por medio para esto? Eso queda a criterio de cada uno, la desventaja de convertir los archivos .BAT en .EXE es la imposibilidad de editarlos una vez convertidos y los archivos .EXE son más pesados que los archivos .BAT (100 o 200 kbytes de más, que a veces no es tanto)

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Descargar Archivo

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate