WCS-Registrierungsschlüssel

WCS verwendet Registrierungsschlüssel, um zu signalisieren, dass bestimmte Farbprofilereignisse aufgetreten sind. Apps sollten diese Registrierungsschlüssel auf den aktualisierten Zustand 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 mithilfe von RegNotifyChangeKeyValueauf Änderungen an der Registrierung lauschen, um zu ermitteln, wann sich farbprofilzuordnungen geändert haben. Eine App sollte sowohl für Benutzerprofil-Zuordnungsänderungen als auch für systemweite Änderungen registriert werden.

RegNotifyChangeKeyValue sollte mit einem HKEY initialisiert werden, der von RegOpenKeyEx bereitgestellt wird. RegOpenKeyEx sollte mit den folgenden Registrierungsstruktur-Speicherorten initialisiert werden:

   
Zuordnungen pro Benutzerprofil 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 benutzer- oder systemweite Zuordnungen verwendet werden, indem wcsGetUsePerUserProfiles aufruft. Anschließend sollte WcsGetDefaultColorProfile mit dem richtigen WCS _ PROFILE MANAGEMENT _ _ SCOPE-Wert aufgerufen werden, um das neue aktive Farbprofil für den Monitor zu erhalten. Beachten Sie, dass nicht alle Änderungen am Registrierungsschlüssel 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.

UWP-Apps (Universal Windows)

Universelle Windows-Apps haben keinen Zugriff auf die oben genannten Registrierungsschlüssel. Stattdessen sollten sie einen Handler für das DisplayInformation.ColorProfileChanged-Ereignis registrieren. Dieses Ereignis wird immer dann ausgeführt, wenn sich das aktive Farbprofil für den Monitor geändert hat, auf dem die Anwendung ausgeführt wird. ColorProfileChanged berücksichtigt, ob benutzer- oder systemweite Profilzuordnungen verwendet werden. diese Informationen werden von UWP-Apps abstrahiert.

Wenn auf das ColorProfileChanged-Ereignis reagiert wird, sollte die App das derzeit aktive Profil mithilfe von DisplayInformation.GetColorProfileAsync abfragen.