Comment modifier les apparences de Windows XP par code delphi?

Le
powerdj
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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 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
Publicité
Poster une réponse
Anonyme