Bagikan melalui


Kunci Registri WCS

WCS menggunakan kunci registri untuk memberi sinyal bahwa peristiwa profil warna tertentu telah terjadi. Aplikasi harus mengkueri kunci registri ini untuk status profil warna sistem yang diperbarui.

Profil warna aktif diubah

Aplikasi mungkin ingin menanggapi peristiwa perubahan profil warna untuk perangkat monitor; ini memastikan bahwa mereka selalu memiliki informasi warna yang akurat untuk target mereka, bahkan jika pengguna atau aplikasi lain telah mengubah profil aktif untuk perangkat.

Aplikasi desktop

Aplikasi desktop harus mendengarkan perubahan pada registri untuk menentukan kapan asosiasi profil warna telah berubah menggunakan RegNotifyChangeKeyValue. Aplikasi harus mendaftarkan perubahan asosiasi profil per pengguna, dan untuk perubahan di seluruh sistem.

RegNotifyChangeKeyValue harus diinisialisasi dengan HKEY yang disediakan oleh RegOpenKeyEx. RegOpenKeyEx harus diinisialisasi menggunakan lokasi pohon registri berikut:

   
Asosiasi profil per pengguna HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318}
Asosiasi profil di seluruh sistem HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}

 

Ketika aplikasi diberi tahu tentang perubahan kunci registri, aplikasi harus terlebih dahulu mengkueri apakah asosiasi per pengguna atau seluruh sistem digunakan dengan memanggil WcsGetUsePerUserProfiles. Kemudian harus memanggil WcsGetDefaultColorProfile dengan nilai WCS_PROFILE_MANAGEMENT_SCOPE yang tepat untuk mendapatkan profil warna aktif baru untuk monitor. Perhatikan bahwa tidak semua perubahan kunci registri akan sesuai dengan perubahan aktual dalam profil warna yang saat ini aktif; mush aplikasi memeriksa apakah profil yang dikembalikan oleh WcsGetDefaultColorProfile benar-benar berubah.

Aplikasi Universal Windows (UWP)

Universal Windows Apps tidak memiliki akses ke kunci registri di atas. Sebagai gantinya, mereka harus mendaftarkan handler untuk peristiwaDisplayInformation.ColorProfileChanged. Kejadian ini diaktifkan setiap kali profil warna aktif untuk monitor tempat aplikasi berjalan telah berubah. ColorProfileChanged memperhitungkan apakah asosiasi profil per pengguna atau seluruh sistem sedang digunakan; informasi ini diabstraksi dari aplikasi UWP.

Saat menanggapi peristiwa ColorProfileChanged, aplikasi harus meminta profil yang saat ini aktif menggunakan DisplayInformation.GetColorProfileAsync.