Claves del Registro de WCS
WCS usa claves del Registro para indicar que se han producido determinados eventos de perfil de color. Las aplicaciones deben consultar estas claves del Registro para obtener el estado actualizado del perfil de color del sistema.
Perfil de color activo cambiado
Es posible que las aplicaciones quieran responder a eventos de cambio de perfil de color para un dispositivo de supervisión; Esto garantiza que siempre tienen información de color precisa para su destino, incluso si el usuario u otra aplicación ha cambiado el perfil activo para el dispositivo.
Aplicaciones de escritorio
Las aplicaciones de escritorio deben escuchar los cambios en el Registro para determinar cuándo han cambiado las asociaciones de perfil de color mediante RegNotifyChangeKeyValue. Una aplicación debe registrarse tanto para los cambios de asociación por perfil de usuario como para los cambios en todo el sistema.
RegNotifyChangeKeyValue debe inicializarse con un HKEY proporcionado por RegOpenKeyEx. RegOpenKeyEx debe inicializarse con las siguientes ubicaciones de árbol del Registro:
Asociaciones de perfil por usuario | HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Asociaciones de perfil para todo el sistema | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Cuando se notifica a la aplicación un cambio de clave del Registro, primero debe consultar si se usan asociaciones por usuario o en todo el sistema mediante una llamada a WcsGetUsePerUserProfiles. A continuación, debe llamar a WcsGetDefaultColorProfile con el valor de WCS_PROFILE_MANAGEMENT_SCOPE derecho para obtener el nuevo perfil de color activo para el monitor. Tenga en cuenta que no todos los cambios de clave del Registro se corresponden con un cambio real en el perfil de color activo actualmente; la aplicación comprueba si el perfil devuelto por WcsGetDefaultColorProfile ha cambiado realmente.
Aplicaciones universales de Windows (UWP)
Las aplicaciones universales de Windows no tienen acceso a las claves del Registro anteriores. En su lugar, deben registrar un controlador para el evento DisplayInformation.ColorProfileChanged . Este evento se desencadena cada vez que el perfil de color activo del monitor en el que se ejecuta la aplicación ha cambiado. ColorProfileChanged tiene en cuenta si se usan asociaciones de perfil por usuario o en todo el sistema; esta información se abstrae de las aplicaciones para UWP.
Al responder al evento ColorProfileChanged, la aplicación debe consultar el perfil activo actualmente mediante DisplayInformation.GetColorProfileAsync.