jueves, 2 de junio de 2016

Salvapantallas en C#

Aunque este artículo debería ser de Rebeca (la experta en .Net del grupo), lo estoy escribiendo yo. En mis inicios (ese año 2000) pasé unos años programando en Visual Basic 5 y 6, y años después hice un par de cursos en C#.

La verdad es que todo surgió hablando un día con Rebeca sobre el Visual Studio, siempre he pensado que es el mejor IDE del mercado, pero con un coste muy elevado. Hasta ahora, que puedes descargarte una versión casi profesional sin pagar ni un euro.

Total que me he decidido a probarlo, y casi dos horas de instalación después ya tengo el Visual Studio instalado, con posibilidad de hacer cualquier desarrollo.



Lo primero que he intentado hacer es un Servicio Windows, no viene instalado de fabrica, pero en el propio entorno, puedes añadirlo y en unos segundos ya tenía la plantilla lista para empezar el desarrollo.

También me ha sorprendido mucho, la posibilidad de desarrollar aplicaciones Android. 

Volviendo al tema que nos ocupa: crear un salvapantallas. Así definiría yo uno:
  • Un salvapantallas de Windows es una aplicación que tiene tres funcionalidades:
    • Mostrar la configuración en un "dialog box"
    • Una previsualización
    • Visualización en pantalla completa
  • Su extensión es "scr"
  • Tiene que estar en Windows\system32 o en Windows\SysWOW64 dependiendo del sistema operativo (32 o 64 bits)
El mio va a ser muy sencillo, lo único que queremos hacer es que una vez abierto cambie de color cada dos segundos.

Para conseguir esto vamos seguir lo siguientes pasos:
  1. Nos creamos una aplicación de Windows Forms
  2. Configuramos el formulario para que esté maximizado y no se vean los controles de la esquina
  3. También le ponemos un color por defecto.
  4. Añadimos un temporizador, lo habilitamos y le ponemos un intervalo de 2 segundos
La parte más complicada es la de previsualización, ya que hay que tirar de componentes que interactúan con la API de Windows, para la posición, etc, etc. Esta parte ha sido un copy/paste.

Todo el código está en nuestro repo: https://bitbucket.org/tecnificados/public, en la carpeta "ScreenSaveNet".

A partir de ahora no voy a descartar el utilizar .Net para realizar algunas aplicaciones.

Espero poder probar a desplegar alguna aplicación web de .Net pronto en Apache.

Ya os contaré.