Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa WCS używa kluczy rejestru, aby zasygnalizować, że wystąpiły określone zdarzenia profilu kolorów. Aplikacje powinny wysyłać zapytania dotyczące tych kluczy rejestru w celu zaktualizowania stanu profilu koloru systemu.
Profil aktywnego koloru został zmieniony
Aplikacje mogą chcieć reagować na zdarzenia zmiany profilu kolorów dla urządzenia monitora; Gwarantuje to, że zawsze mają dokładne informacje o kolorze dla ich miejsca docelowego, nawet jeśli użytkownik lub inna aplikacja zmieniła aktywny profil dla urządzenia.
Aplikacje klasyczne
Aplikacje klasyczne powinny nasłuchiwać zmian w rejestrze w celu określenia, kiedy skojarzenia profilu kolorów zmieniły się przy użyciu RegNotifyChangeKeyValue. Aplikacja powinna rejestrować zarówno zmiany skojarzenia profilu dla użytkownika, jak i zmiany w całym systemie.
RegNotifyChangeKeyValue należy zainicjować za pomocą klucza HKEY dostarczonego przez RegOpenKeyEx. RegOpenKeyEx należy zainicjować przy użyciu następujących lokalizacji drzewa rejestru:
| Skojarzenia profilów poszczególnych użytkowników | HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318} |
| Skojarzenia profilów dla całego systemu | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Gdy aplikacja zostanie powiadomiona o zmianie klucza rejestru, najpierw należy wykonać zapytanie, czy skojarzenia poszczególnych użytkowników lub całego systemu są używane przez wywołanie WcsGetUsePerUserProfiles. Następnie należy wywołać WcsGetDefaultColorProfile z odpowiednią wartością WCS_PROFILE_MANAGEMENT_SCOPE, aby uzyskać nowy aktywny profil kolorów dla monitora. Należy pamiętać, że nie wszystkie zmiany klucza rejestru będą odpowiadać rzeczywistej zmianie aktualnie aktywnego profilu koloru; aplikacja mush sprawdź, czy profil zwrócony przez WcsGetDefaultColorProfile został rzeczywiście zmieniony.
Aplikacje uniwersalne systemu Windows (UWP)
Aplikacje uniwersalne systemu Windows nie mają dostępu do powyższych kluczy rejestru. Zamiast tego należy zarejestrować program obsługi dla zdarzenia DisplayInformation.ColorProfileChanged. To zdarzenie jest uruchamiane za każdym razem, gdy aktywny profil koloru dla monitora, na którym działa aplikacja, uległ zmianie. ColorProfileChanged uwzględnia, czy są używane skojarzenia profilu dla poszczególnych użytkowników lub całego systemu; te informacje są abstrahowane od aplikacji platformy UWP.
W odpowiedzi na zdarzenie ColorProfileChanged aplikacja powinna wysłać zapytanie do aktualnie aktywnego profilu przy użyciu DisplayInformation.GetColorProfileAsync.