Titelleiste und Rahmenfarben programmgesteuert einstellen

Ich versuche, die Titelleiste und die Rahmenfarben meiner Anwendung programmgesteuert zu ändern. Ich habe viele Dinge ausprobiert, aber ohne Erfolg, und mich entschlossen, diese Farben systemweit zu ändern. Weil es für mich auch akzeptabel ist, die Titelleiste und die Rahmenfarben während der Ausführung meiner Anwendung zu ändern und sie am Ende meiner Anwendung zurückzusetzen. (Verwaltete Umgebung, in der nur wenige Anwendungen ausgeführt werden)

Ist es möglich, diese Farben dynamisch zu ändern (prozessweit oder systemweit, sofern keine prozessweiten Änderungen möglich sind)? Können Sie einen Weg vorschlagen, um dies zu erreichen?

Ich habe so etwas wie das Folgende versucht, aber es macht nicht das, was ich will:

int aElements[2] = {COLOR_WINDOW, COLOR_ACTIVECAPTION};
DWORD aOldColors[2];
DWORD aNewColors[2];

aOldColors[0] = GetSysColor(aElements[0]); 
aOldColors[1] = GetSysColor(aElements[1]); 
aNewColors[0] = RGB(0x80, 0x80, 0x80);  // light gray 
aNewColors[1] = RGB(0x80, 0x00, 0x80);  // dark purple 

SetSysColors(2, aElements, aNewColors);
SetSysColors(2, aElements, aOldColors);

Danke im Vorau

BEARBEITE

Das ist genau was ich will:

Antworten auf die Frage(6)

Ihre Antwort auf die Frage