Je sais que je ne devrais généralement pas modifier ces paramètres système, mais mon application utilise déjà des couleurs non standard et je n'ai aucune influence sur cela. J'aimerais pouvoir ajouter des contrôles .NET standard à certains endroits, mais leurs couleurs ne correspondent pas. Je voudrais avoir un hack qui remplacerait les couleurs du système pour cette application. Une chose plus importante à noter est que c'est une application .NET.Modification des couleurs du système pour une seule application (Windows, .NET)
Mon (incomplète) des idées à ce jour étaient:
- Pour créer une bibliothèque User32.dll proxy avec remplacé GetSysColor, mais il serait très fastidieux (731 fonctions à réexpédier, 1 à remplacer) et Je ne sais pas comment forcer ma demande à utiliser cette copie particulière.
- Pour intercepter en quelque sorte des invocations à GetSysColors (malheureusement, c'est quelque part dans le CLR, je pense).
- Pour modifier en quelque sorte la classe .NET SystemColors (en mémoire? Est-ce possible?).
Avez-vous une idée, quelle est la meilleure (et complète) façon d'y parvenir?
J'ai réussi à accrocher GetSysColor et GetSysColorBrush. Malheureusement, il ne suffit pas de colorer les contrôles, et je ne sais toujours pas pourquoi. – olpa