IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Modifier les couleurs de l'explorateur de windows 10 [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Élève
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Par défaut Modifier les couleurs de l'explorateur de windows 10
    Bonjour à ceux qui me lisent,

    En tant que débutant et pour m'entrainer, je me fais une petite application sans prétentions pour changer les couleurs de windows...

    Je sais changer les couleurs des applications "Classiques" de Windows en utilisant les clés de registre HKCU/Control Panel/Colors et HKCU/Control Panel/Desktop/Colors mais impossible pour moi d'accéder à l'explorateur de fichiers Windows.

    Je sais que Microsoft a changé le système pour coller à son nouveau design Windows 10 etc... mais je sais aussi que certain arrive à changer les couleurs, pour exemple, l'application, QTTabBar : http://qttabbar.wikidot.com/

    Il y a également UltraUxThemePatcher : https://www.syssel.net/hoefs/softwar...me.php?lang=en qui patche carrément le système pour utiliser des thèmes des anciens Windows (Un peu too much pour moi de patcher les système...)


    Bref, étant débutant et le sujet Windows étant vaste... si quelqu'un pouvait m'aiguiller sur une manière de faire...

    J'ai pensé, par exemple, qu'il fallait "chopper" la fenêtre de l'explorateur en question pour lui changer ses couleurs "en live" ... Est ce viable comme solution ? Je cherche un système simple et où il ne faut pas patcher le système justement...

    Merci d'avance pour votre éclairage...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Par défaut Hwnd.


    Citation Envoyé par xlbe78 Voir le message
    J'ai pensé, par exemple, qu'il fallait "chopper" la fenêtre de l'explorateur en question pour lui changer ses couleurs "en live" ... Est ce viable comme solution ? Je cherche un système simple et où il ne faut pas patcher le système justement...

    Merci d'avance pour votre éclairage...
    Je ne sais pas si avec Windows 10, les "choses" ont changé à ce niveau mais ce que tu écris me semble une solution.
    1) je lance l'explorateur.
    2) je lance le programme qui modifie les couleurs. Ce dernier capte le Hwnd de l'explorateur et via les API de Windows, on peut modifier les couleurs.

    Je crains qu'il n'y ait pas d'autre moyen.

  3. #3
    Membre averti
    Profil pro
    Élève
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Par défaut
    Oui, c'est bien à çà que je pensais... Récupérer le handle de la fenêtre puis lui appliquer des modifications.
    J'ai regardé vite fait un peu le sujet sur l'api win32... (Sur mon téléphone car j'étais en déplacement.) et suis tombé sur quelques infos... A priori, cela doit être jouable... Je testerai çà ce soir :-)

    Si d'autres ont déjà vu passer une procédure genre FileExplorer.Background.ChangeColor... je suis preneur ;-) (Oui, je rêve un peu... car j'ai déjà chercher une solution sur Windows 10 mais rien de probant jusque là :-) )

  4. #4
    Membre averti
    Profil pro
    Élève
    Inscrit en
    Septembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Septembre 2009
    Messages : 10
    Par défaut
    Bon bon bon... J'ai réussi à récupérer le handle de l'explorateur de fichiers...

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
        string filename;
        ArrayList windows = new ArrayList();
     
        foreach(SHDocVw.InternetExplorer explorerwindow in shellWindows) {
            filename = Path.GetFileNameWithoutExtension(explorerwindow.FullName).ToLower();
            if(filename.Equals("explorer")) {
                // Le pointeur vers le handle = (IntPtr)explorerwindow.HWND
            }
    Ensuite, on peut dessiner sur la fenêtre via son handle (Juste un test içi...) mais çà ne correspond pas du tout à ce que je veux faire...

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Graphics g = Graphics.FromHwnd((IntPtr)explorerwindow.HWND);
    g.FillRectangle(Brushes.Green, new Rectangle(0, 0, 10000, 10000));

    Bref, je ne vois pas comment on peut changer les propriétés d'une fenêtre externe à sa propre application via son handle... En particulier sa propriété background...

  5. #5
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Si l'application à personnaliser n'a pas, de base, la possibilité de modifier son thème (via un fichier de configuration, la base de registre, parce qu'elle utilise les couleurs du thème de Widows ou autre), alors cela risque d'être très compliqué, pour ne pas dire quasi-impossible.

    Si d'autres applications arrive à modifier l'explorateur Windows, et si elles sont open-source, je t'invite à aller jeter un oeil à leur code source, cela sera le plus simple.

    Maintenant, je sais que l'explorateur Windows peut être personnalisé, ou plutôt étendu (on peut y rajouter des fonctionnalités). Je ne sais pas si on peut en changer sa charte graphique. Mais le fait qu'il soit étendable est déjà un signe encourageant.

    Par contre, clairement, l'approche qui consiste à récuéprer son HWND pour dessiner dessus ensuite n'est pas bonne. Car on dessine dessus, on ne change pas sa couleur. De plus, il faut savoir quand il faut dessiner dessus, et ça aussi, c'est compliqué...

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Après avoir passé un peu de temps à personnaliser Windows (Vista et 7 ; NT6), je peux te dire qu' il n existe pas d autres moyens que de passer par le ShellStyle et ça se fait au travers du fichier theme et Msstyle. Il faudra necessairement passer par le patchage des fichiers thème permettant la modification des thèmes signés numériquement.
    De plus je rejoins François DORIN quand il dit qu' il existe pas mal de clés de registre pour modifier pas mal de choses.

    À l époque j utilisais Vista Style Builder car il n existe pas de fonctions API toute faite permettant de le faire simplement et facilement.

    Excepté certaines fonction Pinvoke comme pour appliquer un thème, etc....

    Bon courage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/01/2007, 13h33
  2. [C#][ProgressBar] Comment modifier les couleurs ?
    Par wiLL_ dans le forum Windows Forms
    Réponses: 6
    Dernier message: 11/02/2006, 14h55
  3. Comment modifier les couleurs de Windows ?
    Par Harry dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 29/09/2005, 09h55
  4. Comment modifier les couleurs système ?
    Par yousserr dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 24/07/2005, 10h57
  5. [BP]Borland Pascal : modifier les couleurs par défaut.
    Par Pipoland dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 12/10/2004, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo