Salvapantallas: ¡ORB!
Publicado: 09 Mar 2010, 14:37
¡ORB! es ¡Otro Reloj Binario!.
Post inicial 9/03/2010:
(Este el post original con la versión inicial que aún no es salvapantallas. Lo dejo porque aquí está toda la explicación del programa.
Para el formato SCR seguid leyendo más abajo en las actualizaciones)
La idea surge del comentario que se hizo de hacer un salvapantallas del reloj binario que hizo joaquin aquí:
http://www.emesn.com/autoitforum/viewto ... f=4&t=1858
y de la sugerencia de también hacer un salvapantallas del reloj de hora tradicional catalana que posteé aquÍ:
http://www.emesn.com/autoitforum/viewto ... 974&p=7352
Como los dos son relojes "indescifrables" los he juntado. Así que es binario dos veces: por el reloj de bits... y porque son dos relojes
Por ahora no es un salvapantallas, sino que se ejecuta directamente. Pero como la parte funcional ya está hecha, o casi, os la pongo para que veáis qué pinta tiene.
No he usado el reloj de joaquin, he hecho el código desde cero, soy de los que gustan de experimentar...
El salvapantallas será algo configurable, por ahora se cambian los valores a mano en la sección esa que marco en los comentarios como CONFIGURACIÓN.
Ahora mismo se pueden cambiar colores de fondo y texto de los bits, fuente y símbolos, para el formulario color de fondo y si hay transparencia y cuánta.
También se puede activar una etiqueta con la hora en formato texto, los numeritos, hora tradicional catalana, o ambos a la vez (o desactivarlo del todo).
Por defecto he dejado transparencia (me encanta) y etiqueta de texto con sólo hora catalana, si pongo los números se ve muy clara la hora
En la configuración he dejado una comentada para los controles de bits, comentad la que hay y descomentáis esa para ver otro ejemplo.
Eso sí, lo último que puse es lo del degradado al encender y apagar los bits, eso sólo funciona con colores azules. Para hacerlo más general habría que descomponer las tres partes del RGB y el código será larguísmo, (habría 12 líneas de esas $cfo1 += $cfo_paso, por ejemplo) igual las dejo azules...
Se ejecutará a pantalla completa, esas posibilidades de $WIDTH y $HEIGHT que hay al principio son para mis pruebas a diferentes resoluciones.
Todo se recoloca y escala según la resolución que se tenga, y si se pone etiqueta de texto o no.
Por ahora se sale con ESC.
No seáis muy críticos con el código que es un programa en proceso de elaboración, pueden que cambien cosas.
Ahora a convertirlo en salvapantallas...
ACTUALIZACIÓN 17/03/2010:
Ya tengo una versión del salvapantallas bastante avanzada. Falta la configuración (hacer el GUI y guardar/tomar config de un INI), por ahora si se intenta configurar sale un mensaje diciendo que está en obras
Me parece que en XP y Vista se lanza el salvapantallas de manera diferente. Al poner transparencia en Vista se activa con lo que tienes en el escritorio (que es lo que quiero, tal como se ve en el pantallazo que he puesto arriba), en XP el escritorio está limpio y sólo se ve el fondo del mismo...
Adjunto un SCR que mejor se copia en "c:\windows\System32", para que esté donde los demás. Podéis ver que al seleccionarlo hasta hace previo en la mini ventanita que pone Windows (¡ya podía ser más grande!).
Cuando no recibe parámetros lanza el salvapantallas (como si ejecutaras un exe). Esto choca con un bug de Windows: resulta que si haces click con botón derecho sobre el SCR, salen las opciones Test, Configure e Install.
Se supone que esto funciona a base de mandar parámetros al ejecutable, para Test (que es ejecución normal) Windows manda "/s", para configuración manda "/c", y para el previo manda un "/p". Pues bien, desde la ventana selector de salvapantallas sí me manda un "/c" cuando le das al botón de "Configuración", pero con el menú contextual ¡no manda nada!
Así que para que funcione eso tendría que hacer que al ejecutar el SCR a mano saliera la configuración en vez de ejecutar el salvapantallas, y no mola...
Adjunto el SCR por si lo queréis usar como salvapantallas, por ahora no pongo el código pues aún le falta un buen trozo por lo de la configuración. Haré una primera versión para configurar transparencia y modo del reloj de texto (desactivar, hora catalana, hora numérica, o los dos a la vez). Y esa será la versión 1.0, cuyo código colgaré íntegro. Luego veremos si lo de los colores lo dejo fijo, hago temas o yo qué sé
(Adjunto eliminado, ver siguiente actualización)
ACTUALIZACIÓN 07/04/2010:
¡Primera versión final!
Aquí os adjunto el SCR y el código fuente completo del salvapantallas. La estructura del código ha cambiado bastante respecto a la versión no salvapantallas.
Ya tiene diálogo de configuración, que se abre desde la ventana de seleccionar salvapantallas de Windows.
La configuración se guarda en un Archivo INI junto al scr. Lo preferí así para que sea fácil desinstalarlo (borrar los dos archivos, que están juntitos), la alternativa es guardarlo en el registro y para eso habría que hacer un desinstalador...
El SCR es altamente recomendable guardarlo en windows\system32, que es donde están los demás, así se selecciona fácilmente en el diálogo de Windows.
El código os puede ser útil como esquema para montar vuestros salvapantallas, encontré una UDF para hacerlo pero la vi un poco rollo y me lo hice a mi manera, aunque en aquélla entrada, o sea, aquí:
http://www.autoitscript.com/forum/index ... saver&st=0
descubrí cómo solucionar el problema de cerrar el proceso cuando se selecciona un salvapantallas diferente en el combo de Windows.
NOTA 8/4/2010: he creado una plantilla a partir de este salvapantallas:
http://www.emesn.com/autoitforum/viewto ... f=4&t=2074
Bugfix 8/4/2010:
- Referencia directa a un icono en "C:\windows\System32\shell32.dll" cambiado a @WindowsDir & "\System32\shell32.dll" para que funcione en todas las instalaciones de Windows
- Eliminado Opt("GUIOnEventMode", 1) innecesario
Espero que os guste:
Post inicial 9/03/2010:
(Este el post original con la versión inicial que aún no es salvapantallas. Lo dejo porque aquí está toda la explicación del programa.
Para el formato SCR seguid leyendo más abajo en las actualizaciones)
La idea surge del comentario que se hizo de hacer un salvapantallas del reloj binario que hizo joaquin aquí:
http://www.emesn.com/autoitforum/viewto ... f=4&t=1858
y de la sugerencia de también hacer un salvapantallas del reloj de hora tradicional catalana que posteé aquÍ:
http://www.emesn.com/autoitforum/viewto ... 974&p=7352
Como los dos son relojes "indescifrables" los he juntado. Así que es binario dos veces: por el reloj de bits... y porque son dos relojes
Por ahora no es un salvapantallas, sino que se ejecuta directamente. Pero como la parte funcional ya está hecha, o casi, os la pongo para que veáis qué pinta tiene.
No he usado el reloj de joaquin, he hecho el código desde cero, soy de los que gustan de experimentar...
El salvapantallas será algo configurable, por ahora se cambian los valores a mano en la sección esa que marco en los comentarios como CONFIGURACIÓN.
Ahora mismo se pueden cambiar colores de fondo y texto de los bits, fuente y símbolos, para el formulario color de fondo y si hay transparencia y cuánta.
También se puede activar una etiqueta con la hora en formato texto, los numeritos, hora tradicional catalana, o ambos a la vez (o desactivarlo del todo).
Por defecto he dejado transparencia (me encanta) y etiqueta de texto con sólo hora catalana, si pongo los números se ve muy clara la hora
En la configuración he dejado una comentada para los controles de bits, comentad la que hay y descomentáis esa para ver otro ejemplo.
Eso sí, lo último que puse es lo del degradado al encender y apagar los bits, eso sólo funciona con colores azules. Para hacerlo más general habría que descomponer las tres partes del RGB y el código será larguísmo, (habría 12 líneas de esas $cfo1 += $cfo_paso, por ejemplo) igual las dejo azules...
Se ejecutará a pantalla completa, esas posibilidades de $WIDTH y $HEIGHT que hay al principio son para mis pruebas a diferentes resoluciones.
Todo se recoloca y escala según la resolución que se tenga, y si se pone etiqueta de texto o no.
Por ahora se sale con ESC.
No seáis muy críticos con el código que es un programa en proceso de elaboración, pueden que cambien cosas.
Ahora a convertirlo en salvapantallas...
ACTUALIZACIÓN 17/03/2010:
Ya tengo una versión del salvapantallas bastante avanzada. Falta la configuración (hacer el GUI y guardar/tomar config de un INI), por ahora si se intenta configurar sale un mensaje diciendo que está en obras
Me parece que en XP y Vista se lanza el salvapantallas de manera diferente. Al poner transparencia en Vista se activa con lo que tienes en el escritorio (que es lo que quiero, tal como se ve en el pantallazo que he puesto arriba), en XP el escritorio está limpio y sólo se ve el fondo del mismo...
Adjunto un SCR que mejor se copia en "c:\windows\System32", para que esté donde los demás. Podéis ver que al seleccionarlo hasta hace previo en la mini ventanita que pone Windows (¡ya podía ser más grande!).
Cuando no recibe parámetros lanza el salvapantallas (como si ejecutaras un exe). Esto choca con un bug de Windows: resulta que si haces click con botón derecho sobre el SCR, salen las opciones Test, Configure e Install.
Se supone que esto funciona a base de mandar parámetros al ejecutable, para Test (que es ejecución normal) Windows manda "/s", para configuración manda "/c", y para el previo manda un "/p". Pues bien, desde la ventana selector de salvapantallas sí me manda un "/c" cuando le das al botón de "Configuración", pero con el menú contextual ¡no manda nada!
Así que para que funcione eso tendría que hacer que al ejecutar el SCR a mano saliera la configuración en vez de ejecutar el salvapantallas, y no mola...
Adjunto el SCR por si lo queréis usar como salvapantallas, por ahora no pongo el código pues aún le falta un buen trozo por lo de la configuración. Haré una primera versión para configurar transparencia y modo del reloj de texto (desactivar, hora catalana, hora numérica, o los dos a la vez). Y esa será la versión 1.0, cuyo código colgaré íntegro. Luego veremos si lo de los colores lo dejo fijo, hago temas o yo qué sé
(Adjunto eliminado, ver siguiente actualización)
ACTUALIZACIÓN 07/04/2010:
¡Primera versión final!
Aquí os adjunto el SCR y el código fuente completo del salvapantallas. La estructura del código ha cambiado bastante respecto a la versión no salvapantallas.
Ya tiene diálogo de configuración, que se abre desde la ventana de seleccionar salvapantallas de Windows.
La configuración se guarda en un Archivo INI junto al scr. Lo preferí así para que sea fácil desinstalarlo (borrar los dos archivos, que están juntitos), la alternativa es guardarlo en el registro y para eso habría que hacer un desinstalador...
El SCR es altamente recomendable guardarlo en windows\system32, que es donde están los demás, así se selecciona fácilmente en el diálogo de Windows.
El código os puede ser útil como esquema para montar vuestros salvapantallas, encontré una UDF para hacerlo pero la vi un poco rollo y me lo hice a mi manera, aunque en aquélla entrada, o sea, aquí:
http://www.autoitscript.com/forum/index ... saver&st=0
descubrí cómo solucionar el problema de cerrar el proceso cuando se selecciona un salvapantallas diferente en el combo de Windows.
NOTA 8/4/2010: he creado una plantilla a partir de este salvapantallas:
http://www.emesn.com/autoitforum/viewto ... f=4&t=2074
Bugfix 8/4/2010:
- Referencia directa a un icono en "C:\windows\System32\shell32.dll" cambiado a @WindowsDir & "\System32\shell32.dll" para que funcione en todas las instalaciones de Windows
- Eliminado Opt("GUIOnEventMode", 1) innecesario
Espero que os guste: