Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颜色管理:Windows的监视器配置文件更改通知? 简短版本:_Windows_Winapi_Wcs_Color Management - Fatal编程技术网

颜色管理:Windows的监视器配置文件更改通知? 简短版本:

颜色管理:Windows的监视器配置文件更改通知? 简短版本:,windows,winapi,wcs,color-management,Windows,Winapi,Wcs,Color Management,我正在寻找协议中与Cocoa通知相当的Windows API,当窗口的颜色空间发生变化时(当它移动到另一个监视器时,或者当用户更改监视器配置文件时)调用该通知 有人知道Windows上的等效API是什么吗? 长版本: 我正在开发一个完全由颜色管理的应用程序。因此,当显示器的颜色配置文件更改或应用程序窗口移动到其他屏幕时,需要通知我。在Mac端,这很简单,我只是为我的窗口的委托实现了这个方法,每当用户将窗口拖到另一个监视器,或者每当全局监视器配置文件被更改时,我都会收到通知。简单易用。在Windo

我正在寻找协议中与Cocoa通知相当的Windows API,当窗口的颜色空间发生变化时(当它移动到另一个监视器时,或者当用户更改监视器配置文件时)调用该通知

有人知道Windows上的等效API是什么吗?

长版本: 我正在开发一个完全由颜色管理的应用程序。因此,当显示器的颜色配置文件更改或应用程序窗口移动到其他屏幕时,需要通知我。在Mac端,这很简单,我只是为我的窗口的委托实现了这个方法,每当用户将窗口拖到另一个监视器,或者每当全局监视器配置文件被更改时,我都会收到通知。简单易用。在Windows方面,我不知道如何获取这些通知

目前,我在应用程序启动时使用WCS()函数获取监视器配置文件。我需要一些监视器配置文件更改时的通知

如何在Windows上接收监视器配置文件更改通知?


当应用程序窗口从一个监视器移动到另一个监视器时发出通知的奖励积分。我希望有这样的通知,但如果没有,我可能可以通过监视窗口移动来解决。

一个可能的解决方案是在某些特定消息中使用
GetICMProfile()
查询颜色配置文件(
WM\u SHOWWINDOW
WM\u ACTIVATE
,以及
WM\u EXITSIZEMOVE
)然后比较配置文件文件名是否已更改(如果文件名已更改,则当前配置文件也已更改)

这是一个遗憾,但是当我们从显示设置更改颜色配置文件时,
HWND
似乎没有收到消息,因此
WM\u ACTIVE
部分解决了这个问题(当单击/激活窗口时,我们可以检查颜色配置文件是否已更改)