original Window Farben auslesen
Re: original Window Farben auslesen
Hast schon recht. Ich finde es nur immer wieder traurig, dass es bei so simplen Dingen wie der Fensterfarbe, so schwierig sein kann, diese zu ermitteln. Was habe ich damals gegoogelt um eine Lösung zu finden. Aber nix...
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
Re: original Window Farben auslesen
Professionell meint sicher eine API.
Und sorry für die falsche Aussage meinerseits. Ich war mir sicher, dass man damit alle Farben bekommt. Vielleicht damit: https://docs.microsoft.com/en-us/window ... ationcolor
Und sorry für die falsche Aussage meinerseits. Ich war mir sicher, dass man damit alle Farben bekommt. Vielleicht damit: https://docs.microsoft.com/en-us/window ... ationcolor
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Re: original Window Farben auslesen
Ja, genau damit geht es. Aber wie ?! Womit wir wieder am Anfang wären.
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
Re: original Window Farben auslesen
Code: Alles auswählen
Define color.l,opaque.l,library.i
library=OpenLibrary(#PB_Any,"dwmapi.dll")
If library
If CallFunction(library,"DwmGetColorizationColor",@color,@opaque)
Debug "Fehler"
Else
Debug "Erfolg"
Debug "Farben:"
Debug "R:"+Str(PeekA(@color+2))
Debug "G:"+Str(PeekA(@color+1))
Debug "B:"+Str(PeekA(@color))
Debug "A:"+Str(PeekA(@color+3))
If opaque
Debug "Opaque=1"
Else
Debug "Opaque=0"
EndIf
EndIf
EndIf
Zuletzt geändert von jacdelad am 24.08.2021 02:18, insgesamt 1-mal geändert.
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
-
- Beiträge: 103
- Registriert: 25.08.2013 18:04
- Computerausstattung: alles mögliche^^
- Wohnort: Schöppenstedt
- Kontaktdaten:
Re: original Window Farben auslesen
R,G,B Reihenfolge sollten so passen (sollte so sein: B,G,R)
alle rgb Werte werden bei mir negativ ausgegeben... soll das so?
ich habe mal aus PeekB mal PeekA editiert. Jetzt sind alle negativen Zahlen positiv und passt jetzt auch zu meiner Windows-Rahmenfarbe.
Was wir jetzt noch vergessen haben, ist die Schriftfarbe auf dem Fensterbalken. Wäre schön, wenn wir das auch noch hinbekommen. thx
alle rgb Werte werden bei mir negativ ausgegeben... soll das so?
ich habe mal aus PeekB mal PeekA editiert. Jetzt sind alle negativen Zahlen positiv und passt jetzt auch zu meiner Windows-Rahmenfarbe.
Was wir jetzt noch vergessen haben, ist die Schriftfarbe auf dem Fensterbalken. Wäre schön, wenn wir das auch noch hinbekommen. thx

Re: original Window Farben auslesen
Ja, stimmt, PeekA. Hab ich übersehen. Hab's oben korrigiert.
Die Schriftfarbe ist nicht so einfach, weil die unter Umständen dynamisch an die Basisfarbe angepasst wird:
https://stackoverflow.com/questions/245 ... indows-8-1
Die Schriftfarbe ist nicht so einfach, weil die unter Umständen dynamisch an die Basisfarbe angepasst wird:
https://stackoverflow.com/questions/245 ... indows-8-1
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Re: original Window Farben auslesen
Ok, so weit war ich auch schon mal. Stimmen denn bei euch die ermittelten Farben unter Win 7,8, oder 10 mit den tatsächlichen angezeigten Farben überein ?! Bei mir jedenfalls war das nie der Fall. Es scheint noch irgendwelche "Korrekturwerte zu geben, die unter den verschiedenen Betriebssystemen zum Einsatz kommen. Die ermittelten Farben waren entweder leicht zu hell bzw. zu dunkel. Ich verweise noch einmal auf den Registry-Schlüssel #HKEY_CURRENT_USER Software\Microsoft\Windows\DWM. Dort steht ja noch so allerhand drin. Jedenfalls sollte man ja annehmen, dass wenn man dort den Farbwert von ""ColorizationColor"" und "ColorizationColorBalance" ausliest, die angezeigten Farbwerte bekommt. (Natürlich in der für uns ungewohnten RGBA-Form - was man leicht umfummeln kann.)
Wie auch immer, die Farben ob per Registry oder per dwmapi.dll ermittelt, haben bei mir nie genau die Fenstertitelfarbe ergeben.
Wie auch immer, die Farben ob per Registry oder per dwmapi.dll ermittelt, haben bei mir nie genau die Fenstertitelfarbe ergeben.
Re: original Window Farben auslesen
Wie sieht es mit Transparenz aus und diese ganzen "neuen" Effekte die man so hat - sicherlich werden diese die gesehene Farbe auch beeinflußen?
(Ich habe eine etwas ältere Windows Version... hust).
(Ich habe eine etwas ältere Windows Version... hust).