Chaves de registo WCS
WCS usa chaves do Registro para sinalizar que determinados eventos de perfil de cor ocorreram. Os aplicativos devem consultar essas chaves do Registro para obter o estado atualizado do perfil de cor do sistema.
Perfil de cor ativo alterado
Os aplicativos podem querer responder a eventos de alteração de perfil de cor para um dispositivo de monitor; Isso garante que eles sempre tenham informações de cores precisas para seu destino, mesmo que o usuário ou outro aplicativo tenha alterado o perfil ativo do dispositivo.
Aplicações de ambiente de trabalho
Os aplicativos da área de trabalho devem escutar as alterações no Registro para determinar quando uma associação de perfil de cor foi alterada usando RegNotifyChangeKeyValue. Um aplicativo deve se registrar tanto para alterações de associação de perfil por usuário quanto para alterações em todo o sistema.
RegNotifyChangeKeyValue deve ser inicializado com uma HKEY fornecida pelo RegOpenKeyEx. RegOpenKeyEx deve ser inicializado usando os seguintes locais da árvore do Registro:
Associações de perfil por usuário | HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Associações de perfis em todo o sistema | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Quando o aplicativo é notificado de uma alteração de chave do Registro, ele deve primeiro consultar se associações por usuário ou em todo o sistema estão sendo usadas chamando WcsGetUsePerUserProfiles. Em seguida, ele deve chamar WcsGetDefaultColorProfile com o valor de WCS_PROFILE_MANAGEMENT_SCOPE certo para obter o novo perfil de cor ativo para o monitor. Observe que nem todas as alterações de chave do Registro corresponderão a uma alteração real no perfil de cores ativo no momento; o aplicativo mush verificar se o perfil retornado por WcsGetDefaultColorProfile realmente mudou.
Aplicativos universais do Windows (UWP)
As Aplicações Universais do Windows não têm acesso às chaves de registo acima. Em vez disso, eles devem registrar um manipulador para o DisplayInformation.ColorProfileChanged evento. Esse evento é acionado sempre que o perfil de cor ativo do monitor no qual o aplicativo está sendo executado é alterado. ColorProfileChanged leva em conta se associações de perfil por usuário ou em todo o sistema estão sendo usadas; essas informações são abstraídas de aplicativos UWP.
Ao responder ao evento ColorProfileChanged, o aplicativo deve consultar o perfil ativo no momento usando DisplayInformation.GetColorProfileAsync .