Seite 1 von 4

original Window Farben auslesen

Verfasst: 22.08.2021 21:12
von northstarex
Hallo,

wie bekomme ich die benutzen Farbwerte vom der Fenster-Titelzeile und Border ausgelesen, also von den Fenstern vom eigentlichen Betriebssystem (z.b. win10)?

thx

Re: original Window Farben auslesen

Verfasst: 22.08.2021 21:45
von Varistor
DAS würde mich auch mal brennend interessieren. Was ich mich damit schon gequält habe... Ich weiß, dass man das alles wunderbar mit der dwmapi-API lösen kann...ich habe es allerdings nicht ausgelesen bekommen. Außerdem scheint es auch erhebliche Unterschiede zwischen Win 7, 8 und 10 zu geben. Die Werte die ich erhielt, waren immer abweichend vom tatsächlichen Wert. Toll, wenn das hier jemand wüßte, wie es richtig geht.

Re: original Window Farben auslesen

Verfasst: 22.08.2021 23:22
von jacdelad
GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.

Re: original Window Farben auslesen

Verfasst: 23.08.2021 07:28
von Bisonte
jacdelad hat geschrieben: 22.08.2021 23:22 GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.
Eigentlich ja,nur bei Windows 10 ist die Sache etwas anders... Man bekommt zwar die Standardfarbe, aber nicht die Farbe die man sieht.

Re: original Window Farben auslesen

Verfasst: 23.08.2021 14:05
von northstarex
GetSysColor_() ist dein Freund: https://docs.microsoft.com/en-us/window ... etsyscolor

Die entsprechenden Konstanten sind in PureBasic schon eingebaut.
Ist ja cool, und welche "entsprechenden Konstanten" sind das?

Re: original Window Farben auslesen

Verfasst: 23.08.2021 14:41
von jacdelad
northstarex hat geschrieben: 23.08.2021 14:05 Ist ja cool, und welche "entsprechenden Konstanten" sind das?
Die Konstanten stehen im Artikel, du musst nur ein # davorsetzen. Beispiel: GetSysColor_(#COLOR_BTNFACE)
Bisonte hat geschrieben: 23.08.2021 07:28 Eigentlich ja,nur bei Windows 10 ist die Sache etwas anders... Man bekommt zwar die Standardfarbe, aber nicht die Farbe die man sieht.
Oh, das wusste ich nicht. Ich hab GetSysColor weiterhin benutzt und hatte keine Probleme. Kannst du das genauer erläutern und gibt es Abhilfe?

Re: original Window Farben auslesen

Verfasst: 23.08.2021 16:34
von Varistor
Stimmt, mit GetSysColor bekommt man die Systemfarben z.B. für die Gadgets. Aber eben nicht die Farbe der Fenster-Titelzeile !
Man kann natürlich diese Farbe auch aus der Registry lesen (#HKEY_CURRENT_USER Software\Microsoft\Windows\DWM). Leider sind diese Werte aber erstaunlicherweise nicht die Farben, die dann tatsächlich angezeigt werden.

Re: original Window Farben auslesen

Verfasst: 23.08.2021 17:45
von northstarex
hmmm.... dann halt mit Brecheisen :D

Also einmal ein Windowsfenster klein öffnen, den Bereich grabben und dann die Farbe ermitteln. Ist zwar unschön, aber geht erstmal ;)

Re: original Window Farben auslesen

Verfasst: 23.08.2021 17:54
von Varistor
Ganz genau. So habe ich es damals auch gemacht. Nun, vielleicht weiß ja doch noch jemand, wie es professionell geht...

Re: original Window Farben auslesen

Verfasst: 23.08.2021 18:15
von northstarex
naja, was ist schon professionell? Wenn ich mir so einige Microsoft Tools so ansehe, dass für ein Bruchteil einer Sek. ein Dosfenster öffnet, dann ist mein erwähntes "Brecheisen" sowat von Super-Professionell, oder? ;) :D