”您应该在新开发中使用缩略图工具栏来代替桌面乐队,这在Windows 7以前不受支持。“ - MSDN
不幸的是,看起来微软似乎不鼓励像你在谈论的任务栏GUI的创建。另一种选择是使用任务栏扩展,如讨论here。 MSDN似乎在任务栏扩展页面上给出了一些相互矛盾的信息,指导开发人员进入IDeskBand2页面(顶部的引用来自)。为了将来的兼容性,我仍然建议不要这样做。
如果你在它死心塌地,或者你只是出于某种原因针对XP(或Vista),下面可能会有所帮助:
虽然它们可以被用来很像普通窗口,带对象是容器内存在的COM对象。浏览器栏包含在Internet Explorer中,桌面带包含在Shell中。虽然他们提供不同的功能,但其基本实施非常相似。主要区别在于band对象是如何被注册的,这又控制着对象及其容器的类型。本节讨论所有波段对象通用的实现方面。有关其他实现细节,请参阅自定义浏览器栏的简单示例。 除了IUnknown和IClassFactory的,所有波段的对象必须实现以下接口:
- IDeskBand
- 的IObjectWithSite
- IPersistStream接口
除了注册自己的类标识符(CLSID),浏览器栏和咨询台乐队对象也必须注册适当的组件类别。注册组件类别确定对象类型及其容器。工具带使用不同的注册程序,并且没有类别标识符(CATID)。对于需要他们三个频段的对象CATIDs是:
- 频段类型:组件类别
- 垂直浏览器栏:CATID_InfoBand
- 水平浏览器栏:CATID_CommBand
- 台乐队:CATID_DeskBand
几乎所有你需要知道的东西都可以找到here