Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Obtener Wallpaper en XP

Existe alguna forma de saber cual es el wallpaper (Papel Tapiz, Fondo de Escritorio) que esta usando windows XP? Me refiero a saber cual esta configurado para mostrarse.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 11-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código Delphi [-]
function GetWallpaperBitmap(): string;
const
  SPI_GETDESKWALLPAPER = $0073;
var
  wpFName: array [0..MAX_PATH] of char;
begin
  SystemParametersInfo(SPI_GETDESKWALLPAPER,MAX_PATH,@wpFName,0);
  result := wpFName;
end;

Según pude encontrarlo aquí...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 11-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Gracias, me vino al pelete, ya que no queria hacerlo leyendo el registro de windows. Ahora bien, tenes idea porque no puedo cambiarlo por codigo cuando la extensión no es BMP, por ejemplo JPG.

Probé con esto, pero los JPG no me los toma, y todos los wallpapers que tengo son JPG...

Código Delphi [-]
 Bitmap:='c:\file\back.bmp';
      SystemParametersInfo(SPI_SETDESKWALLPAPER,0,Pchar(BitMap),SPIF_UPDATEINIFILE +
                           SPIF_SENDWININICHANGE);

Saludos y gracias again
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 11-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por mamu
Ahora bien, tenes idea porque no puedo cambiarlo por codigo cuando la extensión no es BMP, por ejemplo JPG.
Pues la razón es que los wallpaper solo pueden ser bmps. Cuando tu escoges una imagen jpg como fondo de pantalla (desde el Internet Explorer, el "Vista previa", etc ...), lo que hacen es convertirla a bmp, guardar la imagen en una carpeta temporal y usar ese bmp como fondo de pantalla.

Otra cosa es que tengas el "Active Desktop" activado. Así si que puedes ver jpgs, gifs, paginas webs, etc ... como fondo de pantalla. Pero entonces se maneja de forma diferente.

De todas formas mira el truco 64. Creo que resolvera tu problema.
Responder Con Cita
  #5  
Antiguo 11-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Parece que no se admite sino el formato BMP. Tal vez Windows convierta los archivos JPG a BMP cuando selecciona uno. En la ayuda de la función "SystemParametersInfo" puede leerse esto en relación a la constante "SPI_SETDESKWALLPAPER":

Cita:
Sets the desktop wallpaper. The value of the pvParam parameter determines the new wallpaper. To specify a wallpaper bitmap, set pvParam to point to a null-terminated string containing the full path to the bitmap file. Setting pvParam to "" removes the wallpaper. Setting pvParam to SETWALLPAPER_DEFAULT or NULL reverts to the default wallpaper.

Starting with Windows Vista, pvParam can specify a .jpg file.
En Torry's tienes un componente de nombre WallpaperChanger, que "admite" archivos JPG, empero, los convierte a BMP previamente. En todo caso tal vez te sea de algún modo útil.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 11-05-2007 a las 11:23:50.
Responder Con Cita
  #6  
Antiguo 11-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Bueno, muchas gracias a ambos por las respuestas, acabo de probare las dos soluciones y a ver si andan de maravillas.

Gracias again, Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 11-05-2007 a las 11:46:40.
Responder Con Cita
  #7  
Antiguo 11-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
No no, no me funcionan

Instalé el componente, pero no pasa nada, que puede ser??

Código Delphi [-]
  abfImage1.Picture.LoadFromFile('C:\WINDOWS\Web\Wallpaper\'+ComboBox1.Text);
  WPChanger1.Wallpaper:='C:\WINDOWS\Web\Wallpaper\'+ComboBox1.Text;

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
obtener ip JAV Redes 2 13-03-2007 14:50:12
Cambiar wallpaper en windows xp diegohdv Varios 0 10-05-2005 17:29:12
obtener el dia,mes y año noe Firebird e Interbase 3 17-02-2005 07:49:22
Cambiar mi Wallpaper en RUntime bustio Varios 4 01-10-2004 18:47:13
Cambiar el wallpaper soul6301 Varios 1 30-05-2004 16:40:23


La franja horaria es GMT +2. Ahora son las 18:24:51.


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
Copyright 1996-2007 Club Delphi