WCS 登錄機碼
WCS 會使用登錄機碼來發出特定色彩配置檔事件的訊號。 應用程式應該查詢這些登錄機碼,以取得更新的系統色彩配置檔狀態。
作用中色彩配置檔已變更
應用程式可能會想要回應監視裝置的色彩配置檔變更事件;這可確保他們一律有目標正確的色彩資訊,即使使用者或其他應用程式已變更裝置的作用中配置檔也一樣。
傳統型應用程式
傳統型應用程式應該接聽登錄的變更,以判斷使用 RegNotifyChangeKeyValue變更色彩配置文件關聯。 應用程式應該針對個別使用者配置檔關聯變更和全系統變更註冊。
RegNotifyChangeKeyValue 應該使用 RegOpenKeyEx提供的 HKEY 初始化。 RegOpenKeyEx 應該使用下列登錄樹狀目錄位置初始化:
個別使用者配置檔關聯 | HKEY_CURRENT_USER SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\ProfileAssociations\Display\{4d36e96e-e325-11ce-bfc1-08002be10318} |
全系統配置檔關聯 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318} |
當應用程式收到登錄機碼變更通知時,應該先透過呼叫 WcsGetUsePerUserProfiles來查詢個別使用者或全系統的關聯。 然後,它應該使用正確的 WCS_PROFILE_MANAGEMENT_SCOPE 值呼叫 WcsGetDefaultColorProfile,以取得監視器的新使用中色彩配置檔。 請注意,並非所有登錄機碼變更都會對應至目前使用中色彩配置檔中的實際變更;應用程式 mush 會檢查 WcsGetDefaultColorProfile 所傳回的配置檔是否已實際變更。
通用 Windows (UWP) 應用程式
通用 Windows 應用程式無法存取上述登錄機碼。 相反地,他們應該註冊 DisplayInformation.ColorProfileChanged 事件的處理程式。 每當應用程式執行所在的監視器作用中色彩配置檔變更時,就會引發此事件。 ColorProfileChanged 會考慮正在使用每個使用者或全系統的配置文件關聯;這項資訊是從UWP應用程式抽象的。
回應 ColorProfileChanged 事件時,應用程式應該使用 DisplayInformation.GetColorProfileAsync查詢目前使用中的配置檔。