Comment modifier les apparences de Windows XP par code delphi?

Le
powerdj
Salut

1 re question

Ce code permet de modifier lapparence de Windows sans redmarrage :

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 crer 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 procdures ChangeStyleVisuel('Metallic'); et
ChangeStyleVisuel('Homestead');
Fonctionne trs bien tant que le style est style windows xp sans
redmarrage de lordinateur.

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 problme ? il ya un autre code ?
La solution sil 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 :

Dmarrer proprits poste de travail avancs performances
paramtres effets visuels



Merci beaucoup
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #23816581
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")
powerdj Hors ligne
Le #23856711
powerdj a écrit le 03/10/2011 à 12h31 :
Salut

1 re question

Ce code permet de modifier lapparence de Windows sans redmarrage :

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 crer 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 procdures ChangeStyleVisuel('Metallic'); et
ChangeStyleVisuel('Homestead');
Fonctionne trs bien tant que le style est style windows xp sans
redmarrage de lordinateur.

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 problme ? il ya un autre code ?
La solution sil 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 :

Dmarrer proprits poste de travail avancs performances
paramtres effets visuels



Merci beaucoup


bon jour

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

Merci
Publicité
Poster une réponse
Anonyme