Change system colors for a single application (Windows, .NET)

I know that, as a rule, I should not be mistaken in such system settings, but my application already uses non-standard colors, and I do not affect it. I would like to be able to add standard .NET controls in some places, but their colors do not match. I would like to have a hack that replaces the system colors for this application. Another important note is the .NET application.

My (unfinished) ideas so far have been:

  • To create a User32.dll proxy library with GetSysColor replaced, but it would be very tedious (731 functions should be redirected, 1 for replacement), and I don’t know how to make my application use this specific copy.
  • To intercept the GetSysColors calls somehow (unfortunately, this is somewhere in the CLR, I think).
  • To somehow change the .NET SystemColors class (in memory?)?

Do you have any ideas what is the best (and complete) way to achieve this?

+5
source share
2 answers

I would like to be able to add standard .NET controls in some places, but their colors do not match. I would like to have a hack that replaces the system colors for this application.

It's like driving a nail with a sledgehammer.

, , , . TextBox TextBox, ThemedTextBox. , , - , , winforms.

+4

, - . . .

, . , Krypton Toolkit?

+2

All Articles