Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment modifier les apparences de Windows XP par code delphi?

2 réponses
Avatar
powerdj
Salut

1 =E8re question

Ce code permet de modifier l=92apparence de Windows sans red=E9marrage :

uses uxtheme,Registry;
...

Procedure ChangeStyleVisuel(StyleVisuel:string);
const CleRegistre=3D'Software\Microsoft\Windows\CurrentVersion
\ThemeManager';
var BaseRegistre:TRegistry;
begin
BaseRegistre:=3DTRegistry.Create;
try
BaseRegistre.RootKey:=3D HKEY_CURRENT_USER;
// False car nous ne voulons pas la cr=E9er si elle n'existe pas
BaseRegistre.OpenKey(CleRegistre, False);
BaseRegistre.WriteString('ColorName',StyleVisuel);
finally
BaseRegistre.Free;
end;

//Applique le style
EnableTheming(IsThemeActive);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//Gris Clair
ChangeStyleVisuel('Metallic');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//Vert Olive
ChangeStyleVisuel('Homestead');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
//Bleu
ChangeStyleVisuel('NormalColor');
end;


Les deux proc=E9dures ChangeStyleVisuel('Metallic'); et
ChangeStyleVisuel('Homestead');
Fonctionne tr=E8s bien tant que le style est =AB style windows xp =BB sans
red=E9marrage de l=92ordinateur.

Mais la procedure ChangeStyleVisuel('NormalColor'); ne fonctionne
pas tant que le style est =ABStyle Windows classique =BB ou un autre style
sauf =AB style windows xp =BB par ce que je veux modifier vers =AB style
windows xp =BB.

Ou le probl=E8me ? il y=92a un autre code ?
La solution s=92il vous plait.




Et quel est le role de ce code qui associe avec la premiere
procedure ?

Procedure SetLookClassique;
begin
EnableTheming(False);
end;

Procedure SetLookXP;
begin
EnableTheming(True);
end;

function IsLookXP:boolean;
begin
result:=3DIsThemeActive;
end;

function IsLookClassique:boolean;
begin
result:=3Dnot IsThemeActive;
end;

Procedure Basculer_Look_XP_vers_Classique_et_vice_versa;
begin
EnableTheming(not IsThemeActive);
end;



2 eme question

Et comment changer les effets visuels quelconque vers le choix
suivante :

=AB Laisser Windows choisir la meilleure configuration pour mon
ordinateur =BB

Qui se trouve en :

D=E9marrer propri=E9t=E9s poste de travail avanc=E9s performances
param=E8tres effets visuels



Merci beaucoup

2 réponses

Avatar
Christian ASTOR
powerdj a écrit :
Salut
1 ère question
Ce code permet de modifier l’apparence de Windows sans redémarrage :
....



Ça se fait plutôt avec l'api SetSystemVisualStyle()

2 eme question
Et comment changer les effets visuels quelconque vers le choix
suivante :
« Laisser Windows choisir la meilleure configuration pour mon
ordinateur »
Qui se trouve en :
Démarrer propriétés poste de travail avancés performances
paramètres effets visuels



L'Explorer lit les valeurs CheckedValue & UncheckedValue dans
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerVisualEffects
pour la "meilleure configuration"
(puis SystemParametersInfo() comme SPI_SETCURSORSHADOW par ex pour
"CursorShadow")
Avatar
powerdj
powerdj a écrit le 03/10/2011 à 12h31 :
Salut

1 ère question

Ce code permet de modifier l’apparence de Windows sans redémarrage :

uses uxtheme,Registry;
...

Procedure ChangeStyleVisuel(StyleVisuel:string);
const CleRegistre='SoftwareMicrosoftWindowsCurrentVersion
ThemeManager';
var BaseRegistre:TRegistry;
begin
BaseRegistre:=TRegistry.Create;
try
BaseRegistre.RootKey:= HKEY_CURRENT_USER;
// False car nous ne voulons pas la créer si elle n'existe pas
BaseRegistre.OpenKey(CleRegistre, False);
BaseRegistre.WriteString('ColorName',StyleVisuel);
finally
BaseRegistre.Free;
end;

//Applique le style
EnableTheming(IsThemeActive);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//Gris Clair
ChangeStyleVisuel('Metallic');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//Vert Olive
ChangeStyleVisuel('Homestead');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
//Bleu
ChangeStyleVisuel('NormalColor');
end;


Les deux procédures ChangeStyleVisuel('Metallic'); et
ChangeStyleVisuel('Homestead');
Fonctionne très bien tant que le style est « style windows xp » sans
redémarrage de l’ordinateur.

Mais la procedure ChangeStyleVisuel('NormalColor'); ne fonctionne
pas tant que le style est «Style Windows classique » ou un autre style
sauf « style windows xp » par ce que je veux modifier vers « style
windows xp ».

Ou le problème ? il y’a un autre code ?
La solution s’il vous plait.




Et quel est le role de ce code qui associe avec la premiere
procedure ?

Procedure SetLookClassique;
begin
EnableTheming(False);
end;

Procedure SetLookXP;
begin
EnableTheming(True);
end;

function IsLookXP:boolean;
begin
result:=IsThemeActive;
end;

function IsLookClassique:boolean;
begin
result:=not IsThemeActive;
end;

Procedure Basculer_Look_XP_vers_Classique_et_vice_versa;
begin
EnableTheming(not IsThemeActive);
end;



2 eme question

Et comment changer les effets visuels quelconque vers le choix
suivante :

« Laisser Windows choisir la meilleure configuration pour mon
ordinateur »

Qui se trouve en :

Démarrer propriétés poste de travail avancés performances
paramètres effets visuels



Merci beaucoup


bon jour

le code delphi7 s'il vous plait pour les chemins de registre qui vous avez fournit

Merci