我有一个用 Borland C++Builder 6 编写的 MDI 应用程序(升级到新版本不是一种选择),并且正在使用该ITaskbarList3
界面将 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 标记为支持的操作系统,并替换了库存带有新清单的已编译可执行文件中的清单。仍然没有运气。
我错过了什么吗?