Claves del Registro 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.
Se ha cambiado el perfil de color activo
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 tengan 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 registrar los cambios de asociación por perfil de usuario y para los cambios en todo el sistema.
RegNotifyChangeKeyValue se debe inicializar con un HKEY proporcionado por RegOpenKeyEx. RegOpenKeyEx deben 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 llamando a WcsGetUsePerUserProfiles. A continuación, debe llamar a wcsGetDefaultColorProfile con el valor 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 eventoDisplayInformation.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 de todo el sistema; esta información se abstrae de aplicaciones para UWP.
Al responder al evento ColorProfileChanged, la aplicación debe consultar el perfil activo actualmente mediante DisplayInformation.GetColorProfileAsync.