CHANGEUR DE FOND D'ÉCRAN

Signaler
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
-
danfranjo
Messages postés
33
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
14 février 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50468-changeur-de-fond-d-ecran

danfranjo
Messages postés
33
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
14 février 2009

Bonjour John Dogget,
Je viens de tester ton appli,et j'ai un petit commentaire :
J'ai un système à 2 moniteurs,avec extension du desktop sur le 2ème ce qui fait que tous tes écrans sont à cheval sur les 2 moniteurs.
Pour corriger, il faut mettre les positions des écrans à poScreenCenter au lieu de poDesktopCenter.
D'autre part, est-il possible de mettre une image différente sur le 2ème moniteur ?
Sinon, l'appli marche bien.
John Dogget
Messages postés
390
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
7 mai 2009

Mise a jour !

Le bug de la liste vide est en principe corrigé, je dis en principe parce qu'en fait je suis pas arrivé à le reproduire ^^

Le TrayIcon est codé "en dur" dans l'appli, c'etait moins compliqué que je ne pensais.

Par contre, le démarrage en mode reduit réagit toujours bizaremment ...
John Dogget
Messages postés
390
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
7 mai 2009

Bien ...

La prise en charge de plusieurs format c'est bon, je viens de finir et ça marche (très) bien, l'application voit et liste tous les fichiers images.
Pour l'instant j'ai mis les BMP, GIF et JPG mais on peut facilement en rajouter.
D'ailleurs je suis assez fier de moi pour la fonction qui liste tout ça (huhu ^^).

Le try..except, c'est facile donc on va dire que c'est bon.

La je suis sur la création d'une TrayIcon avec les API.

J'avance bien, ptete une MAJ ce soir, sinon demain.
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
11
Toujours la même chose..
et si on choisit un dossier ne contenant pas de fichier à extension d'image valide-->>plantage
ce qui pourrait être eviter avec un Try Except End
pour les autres extensions, il faut soit convertir, soit tester.
et la fonction de notre cher japee fonctionne avec un fichier .bmp :

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
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;

procedure TForm1.Button1Click(Sender: TObject);
begin
ApplyWallPaper('c:\essai\Aquarium.bmp',0);
end;

end.
John Dogget
Messages postés
390
Date d'inscription
vendredi 18 juin 2004
Statut
Membre
Dernière intervention
7 mai 2009

T'inquietes ^^

La partie qui doit mettre une image en fond d'écran devrait normalement accepter n'importe quel format image pris en charge par windows, dixit japee l'auteur de cette fonction :p

Non c'est juste le listage des fichiers qui ne doit voir que les fichiers jpg.

C'est pour cette raison que j'aimerais bien que cantador me dise ce qui va pas.