Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Posición del Wallpaper (https://www.clubdelphi.com/foros/showthread.php?t=48890)

madiazg 07-10-2007 00:35:30

Posición del Wallpaper
 
Hola,
desarrollo una aplicación donde he de eliminar el Wallpaper y una vez finalizada volver a fijarlo. Gracias a los trucos y al foro he podido conseguirlo pero me falta una cosa. ¿Como saber si el wallpaper está originalmente en posición mosaico, centrado ó extendido?
Saludos...
Miguel Angel

dec 07-10-2007 00:39:30

Hola,

Fíjate en el truco Cambiar o quitar el papel tapiz del escritorio. Verás que ahí se puede establecer el papel tapiz en una de las tres "posiciones" soportadas. Pues bien... sabiendo qué valores del Registro de Windows han de estar establecidos para cada una de las posiciones, sería cuestión de leer dichos valores del Registro para determinar la posición del papel tapiz.

¿Te suena la clase TRegistry? Si buscas por los foros encontrarás bastante información...

aeff 07-10-2007 02:08:29

en el registro, en la clave "HKEY_CURRENT_USER\Control Panel\Desktop\" hay un valor alfanumerico llamado "TileWallpaper" y otro llamado "WallpaperStyle", que cuando tienen valor:

TileWallpaper ......... WallpaperStyle ............. es:
--- 0 ------------------- 0 ------------------ Centrada
--- 1 ------------------- 0 ------------------ En mosaico
--- 0 ------------------- 2 ------------------ Expandida

espero no haberme equivocado,

saludos
aeff!!

madiazg 07-10-2007 16:55:20

Muchas gracias a los dos. Un pequeño ejemplo:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_CURRENT_USER;
      if OpenKey('\Control Panel\Desktop\', False) then begin
        Label1.Caption := ReadString('WallpaperStyle');
        Label2.Caption := ReadString('TileWallpaper');
        CloseKey;
      end;
    finally
      Free;
    end;
end;



La franja horaria es GMT +2. Ahora son las 12:55:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi