2013-11-24 40 views
4

我正在制作一个应用程序,它将接收来自用户的搜索查询并显示结果。为了使界面更加用户友好,我想在任务栏中创建一个接受输入的文本框,然后在新窗口中显示结果。我已经在SO和其他网站上查看了相同问题的链接。
基于我通过使用谷歌和其他网站发现的,我们需要使用乐队来实现这件事。
有人可以向我解释上述问题的解决方案(乐队),你可以指出任何好的链接或一些文章,或者你可以写一个代码示例来解释。 我只想要足够的信息让我开始解决这个问题。 “如何在Windows任务栏中创建文本框?

回答

2

”您应该在新开发中使用缩略图工具栏来代替桌面乐队,这在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

相关问题