我有一个用Borland C ++ Builder 6编写的MDI应用程序(升级到新版本不是一个选项),我使用ITaskbarList3
interface将MDI子窗口集成到Windows 7任务栏中。根据Microsoft的文档,每个MDI窗口都会创建一个代理窗口,以便从任务栏接收消息。我在ITaskbarList3
注册的标签页确实显示在任务栏上,代理窗口确实会收到WM_GETICON
,WM_ACTIVATEAPP
,WM_SYSCOMMAND
和WM_CLOSE
条消息。但是,它们不会收到任何WM_ACTIVATE
,WM_DWMSENDICONICTHUMBNAIL
或WM_DWMSENDICONICLIVEPREVIEWBITMAP
条消息。没有这些,这个功能就没用了。
我认为这可能是一个明显的问题(该应用确实使用了SoftGems TThemeManager),因此我从C ++ Builder 2010应用程序中提取了一个清单,添加了一个“兼容性”部分,将Vista和Win7标记为支持的操作系统,以及用新清单替换已编译可执行文件中的库存清单。仍然没有运气。
我错过了什么吗?