Aracılığıyla paylaş


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.