Les Snippets

Connexion

Modifier le fond d'écran de votre bureau windows

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 27/07/2006 20:40:46 et initié par romagny13 [Liste]
Date de mise à jour : 09/04/2007 12:33:26
Vue : 23178
Catégorie(s) : Divers, Graphique
Langages dispo pour ce code :
- C# 2.x
- VB 2005
- mIRC
- Delphi 5
- Delphi 5
- Voir tous les langages pour ce code snippet



Langage : Delphi 5
Date ajout : 09/04/2007
Posté par japee [Liste]
DateMAJ : 09/04/2007
uses ShlObj, ComObj, Jpeg;
procedure ApplyWallPaper(const FileName: string; wpStyle: DWORD = WPSTYLE_CENTER);
const
  GUID: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
  ComObj       : IUnknown;
  Buffer       : PWideChar;
  WallPaperOpt : TWallPaperOpt;
begin
  if not FileExists(FileName) then Exit;
  Buffer := AllocMem(MAX_PATH);
  StringToWideChar(FileName, Buffer, MAX_PATH);
  WallPaperOpt.dwStyle := wpStyle;
  WallPaperOpt.dwSize := SizeOf(WallPaperOpt);
  ComObj := CreateComObject(GUID);
  with ComObj as IActiveDesktop do
  begin
    SetWallpaperOptions(WallPaperOpt, 0);
    SetWallpaper(Buffer, 0);
    ApplyChanges(AD_APPLY_ALL); //(AD_APPLY_ALL or AD_APPLY_FORCE);
  end;
  FreeMem(Buffer);
end;
Remarque :
Cette fonction permet d'appliquer comme papier-peint du bureau tous les formats
graphiques autorisés (bmp, jpg, gif...), mais également une page au format htlm.
Sous XP, il n'est pas besoin d'avoir installé Active Desktop.

Les paramètre wpStyle sont :
  WPSTYLE_CENTER  = 0;
  WPSTYLE_TILE    = 1;
  WPSTYLE_STRETCH = 2;
  WPSTYLE_MAX     = 3;

Inutile de les déclarer car ils sont présents dans l'unité ShlObj.
Par contre, ne pas oublier ShlObj, ComObj, Jpeg dans les uses.

Exemple d'utilisation avec un OpenDialog et un RadioGroup :

procedure TForm1.btnOpenClick(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    ApplyWallPaper(OpenDialog1.FileName, rgStyle.ItemIndex);
  end;
end;

Snippets en rapport avec : Image, Écran, Bureau, Wallpaper, Fond



Codes sources en rapport avec : Image, Écran, Bureau, Wallpaper, Fond

{Visual Basic, VB6, VB.NET, VB 2005} MODIFICATION DU PAPIER PEINT/FOND D'ÉCRAN DU BUREAU
Ce code sert simplement à modifier le fond d'écran de votre bureau. ...

{Visual Basic, VB6, VB.NET, VB 2005} MFE : MODIFICATEUR DE FOND D'ECRAN AUTOMATIQUE
C'est un programme très sympa qui change le fond d'écran automatiquement à chaque démarrage, tous le...

{Delphi} WALLPAPERCAM
Insertion capture webcam sur le papier peint du bureau ou remplacement du papier peint par la captur...

{Visual Basic, VB6, VB.NET, VB 2005} FROSTDESKTOP 2007 - DES ÉCRANS VIRTUELS À LA LINUX
Bonjour à tous, je poste ici ma première source sur VBFrance.com. Il sagit d'un logiciel qui permet...

{Delphi} WALLPAPER - CHANGEMENT AUTOMATIQUE DU FOND D'ECRAN
Permet de modifier votre fond d'écran aléatoirement...

{C / C++ / C++.NET} DESSIN SUR ÉCRAN (TRÈS SIMPLE)
Source en C, fonctionne tel quel en C++. Uitlise l'API Windows. Mis à jour (1.0.1). Merci vecchio56...

{Delphi} TRANSPARENCE DANS LA FORM (TROUS)
Voici une source permetant de voir comment faire un trou dans une form et (sur la form2) la transpar...

{Visual Basic, VB6, VB.NET, VB 2005} EASY WALLPAPER
c'est un programme qui change votre fon d'ecran tout simplement...

{IRC} WALLPAPERS POUR VOTRE BUREAU
N'ayant plus d'idées de scripts à développer voici la seule chose que j'ai trouvé à faire : Cet a...

{Visual Basic, VB6, VB.NET, VB 2005} CHANGEZ SON WALLPAPER SIMPLEMENT.
Ce code n'est pas entierement de moi, je l'ai adapter pour l'utiliser plus facilement, ce code perme...