Sé que en general debería evitar el desorden con la configuración del sistema, pero mi aplicación ya usa colores no estándar y no influyo en eso. Me gustaría poder agregar controles .NET estándar en algunos lugares, pero sus colores no coinciden. Me gustaría tener un truco que reemplace los colores del sistema para esta aplicación. Una cosa más importante a tener en cuenta es que es una aplicación .NET.Cambiando los colores del sistema para una sola aplicación (Windows, .NET)
Mi (incompleto) las ideas hasta ahora eran:
- para crear una biblioteca User32.dll proxy con GetSysColor reemplazado, pero sería muy tedioso (731 funciones a ser redirigidos, 1 para ser sustituido) y No sé cómo forzar a mi aplicación a usar esa copia en particular.
- Para interceptar de alguna manera las invocaciones a GetSysColors (desafortunadamente está en algún lugar de la CLR, creo).
- Para modificar de alguna manera .NET class SystemColors (¿en la memoria? ¿Es posible?).
¿Tiene alguna idea, cuál es la mejor (y completa) forma de lograrlo?
He enganchado con éxito GetSysColor y también GetSysColorBrush. Desafortunadamente, no es suficiente colorear los controles, y todavía no sé por qué. – olpa