WCS Kayıt Defteri Anahtarları
WCS, belirli renk profili olaylarının oluştuğuna işaret etmek için kayıt defteri anahtarlarını kullanır. Uygulamaların güncelleştirilmiş sistem renk profili durumu için bu kayıt defteri anahtarlarını sorgulaması gerekir.
Etkin renk profili değiştirildi
Uygulamalar bir monitör cihazı için renk profili değişiklik olaylarına yanıt vermek isteyebilir; bu, kullanıcı veya başka bir uygulama cihaz için etkin profili değiştirse bile hedeflerine yönelik her zaman doğru renk bilgilerine sahip olmalarını sağlar.
Masaüstü uygulamaları
Masaüstü uygulamaları, RegNotifyChangeKeyValuekullanılarak renk profili ilişkilendirmelerinin ne zaman değiştiğini belirlemek için kayıt defterinde yapılan değişiklikleri dinlemelidir. Bir uygulama hem kullanıcı başına profil ilişkilendirme değişikliklerine hem de sistem genelindeki değişikliklere kaydolmalıdır.
RegNotifyChangeKeyValue, RegOpenKeyExtarafından sağlanan bir HKEY ile başlatılmalıdır. RegOpenKeyEx aşağıdaki kayıt defteri ağacı konumları kullanılarak başlatılmalıdır:
Kullanıcı başına profil ilişkilendirmeleri | HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Sistem genelinde profil ilişkilendirmeleri | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318} |
Uygulamaya bir kayıt defteri anahtarı değişikliği bildirildiğinde, önce WcsGetUsePerUserProfilesçağrılarak kullanıcı başına veya sistem genelindeki ilişkilendirmelerin kullanılıp kullanılmadığını sorgulaması gerekir. Ardından, izleyicinin yeni etkin renk profilini elde etmek için doğru WCS_PROFILE_MANAGEMENT_SCOPE değere sahip WcsGetDefaultColorProfile çağırmalıdır. Tüm kayıt defteri anahtarı değişikliklerinin geçerli etkin renk profilindeki gerçek bir değişikliğe karşılık geldiğini unutmayın; uygulama mush, wcsGetDefaultColorProfile tarafından döndürülen profilin gerçekten değişip değişmediğini denetler.
Evrensel Windows (UWP) uygulamaları
Evrensel Windows Uygulamaları'nın yukarıdaki kayıt defteri anahtarlarına erişimi yoktur. Bunun yerine, DisplayInformation.ColorProfileChanged olayı için bir işleyici kaydetmeleri gerekir. Bu olay, uygulamanın üzerinde çalıştığı izleyicinin etkin renk profili her değiştiğinde tetiklenir. ColorProfileChanged, kullanıcı başına veya sistem genelinde profil ilişkilendirmelerinin kullanılıp kullanılmadığını dikkate alır; bu bilgiler UWP uygulamalarından soyutlanır.
ColorProfileChanged olayına yanıt verirken, uygulamanın DisplayInformation.GetColorProfileAsynckullanarak etkin olan profili sorgulaması gerekir.