系统的托盘区时钟视觉主题记录在 MSDN 中,所以我想微软希望我们能够使用它。我想用它来绘制我的任务栏带的背景,以便更好地与托盘区域融合。当我尝试
OpenThemeData (NULL, L"CLOCK");
它总是失败。我发现获得该主题的唯一方法是找到实际的时钟窗口,并请求其主题:
用于
FindWindowEx
定位一个带有Shell_TrayWnd
类的窗口,然后用类定位它的子窗口,然后用类定位TrayNotifyWnd
这个窗口的子窗口TrayClockWClass
。调用 OpenThemeData 并传递实际时钟的窗口句柄。
显然,内部 Windows 窗口类名称没有记录。尽管上面的方法似乎有效,但我宁愿使用不那么脆弱的东西。
问题:是否有任何合理的方法来获取托盘区域的时钟视觉主题?