WCS-Registrierungsschlüssel

WCS verwendet Registrierungsschlüssel, um zu signalisieren, dass bestimmte Farbprofilereignisse aufgetreten sind. Apps sollten diese Registrierungsschlüssel nach dem aktualisierten Status des Systemfarbprofils abfragen.

Aktives Farbprofil geändert

Apps möchten möglicherweise auf Farbprofiländerungsereignisse für ein Monitorgerät reagieren. Dadurch wird sichergestellt, dass sie immer über genaue Farbinformationen für ihr Ziel verfügen, auch wenn der Benutzer oder eine andere App das aktive Profil für das Gerät geändert hat.

Desktopanwendungen

Desktop-Apps sollten auf Änderungen an der Registrierung lauschen, um mithilfe von RegNotifyChangeKeyValue zu ermitteln, wann sich eine Farbprofilzuordnung geändert hat. Eine App sollte sowohl für Benutzerprofilzuordnungsänderungen als auch für systemweite Änderungen registrieren.

RegNotifyChangeKeyValue sollte mit einem von RegOpenKeyEx bereitgestellten HKEY initialisiert werden. RegOpenKeyEx sollte mithilfe der folgenden Registrierungsstrukturspeicherorte initialisiert werden:

   
Benutzerspezifische Profilzuordnungen HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318}
Systemweite Profilzuordnungen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}

 

Wenn die App über eine Änderung des Registrierungsschlüssels benachrichtigt wird, sollte sie zunächst abfragen, ob benutzerspezifische oder systemweite Zuordnungen verwendet werden, indem WcsGetUsePerUserProfiles aufgerufen wird. Anschließend sollte WcsGetDefaultColorProfile mit dem rechten WCS_PROFILE_MANAGEMENT_SCOPE Wert aufgerufen werden, um das neue aktive Farbprofil für den Monitor abzurufen. Beachten Sie, dass nicht alle Änderungen des Registrierungsschlüssels einer tatsächlichen Änderung im derzeit aktiven Farbprofil entsprechen. die App überprüft, ob sich das von WcsGetDefaultColorProfile zurückgegebene Profil tatsächlich geändert hat.

Universelle Windows-Apps (UWP)

Universelle Windows-Apps haben keinen Zugriff auf die oben genannten Registrierungsschlüssel. Stattdessen sollte ein Handler für das DisplayInformation.ColorProfileChanged-Ereignis registriert werden . Dieses Ereignis wird immer dann ausgelöst, wenn sich das aktive Farbprofil für den Monitor geändert hat, auf dem die Anwendung ausgeführt wird. ColorProfileChanged berücksichtigt, ob benutzerspezifische oder systemweite Profilzuordnungen verwendet werden; Diese Informationen werden aus UWP-Apps abstrahiert.

Bei der Reaktion auf das ColorProfileChanged-Ereignis sollte die App das derzeit aktive Profil mithilfe von DisplayInformation.GetColorProfileAsync abfragen.