Ir al contenido


Foto

Presentación en el fondo del escritorio.


  • Por favor identifícate para responder
4 respuestas en este tema

#1 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 13 noviembre 2012 - 04:46

Pues se me ocurrió realizar una presentación de "diapositivas" pero en lugar de utilizar PowerPoint quise que quedara como WallPaper de forma que fuera renovando cíclicamente la imagen. Escribí un pequeño y sencillo código usando sólo la API de Windows que se ajustó a las necesidades buscadas.

Explico el funcionamiento, que es básico. El programa recorre la carpeta actual en busca de archivos de imagen tipo bmp. Si no encuentra ninguno termina, en caso contrario entra en un bucle infinito presentando cada uno como fondo de escritorio. Termina en caso de que se borren todos los archivos bmp de la carpeta.

Comparto con vosotros el código:



delphi
  1. program WPaper2;
  2.  
  3. uses
  4.   Windows;
  5.  
  6. function strrchr(S: PCHAR; C: CHAR): PCHAR; cdecl; external 'msvcrt.dll';
  7.  
  8. var
  9.   CmdLine, C: PCHAR;
  10.   hFile: THANDLE;
  11.   fd: WIN32_FIND_DATA;
  12. begin
  13.   CmdLine:= GetCommandLine();
  14.   C:= strrchr(CmdLine, '\');
  15.   if C <> nil then C^:= #0;
  16.   SetCurrentDirectory(CmdLine);
  17.  
  18.   while true do
  19.   begin
  20.     hFile:= FindFirstFile('*.bmp', fd);
  21.     if hFile <> INVALID_HANDLE_VALUE then
  22.     repeat
  23.       SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @fd.cFileName, SPIF_UPDATEINIFILE or SPIF_SENDCHANGE);
  24.       Sleep(60000);
  25.     until not FindNextFile(hFile, fd)
  26.     else break;
  27.   end;
  28.   FindClose(hFile);
  29.   SystemParametersInfo (SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
  30. end.




Saludos.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.446 mensajes
  • LocationMéxico

Escrito 13 noviembre 2012 - 05:35

Caramba!!!!

Esto es como el Wallpapa ????

Saludos
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 13 noviembre 2012 - 05:46

Esto es como el Wallpapa ????


Bueno, es un programa muy sencillito como podéis ver. Tal como está sólo muestra archivos bmp porque son los que admite el fondo de escritorio. Si lo queremos complicar un poquito se pueden añadir muchos mas tipos de archivos gráficos, e incluso cambiar a otras carpetas... El uso de mas tipos de archivo pasa por convertir la imagen que vamos a representar, a bmp, usarla y borrarla después. Si queremos optimizar con la API de Windows, podemos usar GDIplus. En principio buscaba una presentación de diapositivas en el fondo de escritorio y que no interfiriese con el trabajo si se decidía no mirar.


Saludos.
  • 0

#4 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 13 noviembre 2012 - 06:33

Me suena a "tunear" un XP al estilo 7 :D como siempre muy interesante.


Saludos!
  • 0

#5 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 14 noviembre 2012 - 01:55

Mira que sois rebuscados a veces jejejejeje

No obstante, está bien conocer esos truquillos :-)

Nos leemos
  • 0




IP.Board spam blocked by CleanTalk.