Как сделать текстовое поле на панели задач Windows?

Я делаю приложение, которое будет принимать поисковый запрос от пользователя и отображать результаты. Чтобы сделать интерфейс более удобным для пользователя, я подумал о создании текстового поля на панели задач, которое принимает ввод, а затем отображает результаты в новом окне. Я просмотрел ссылки на один и тот же вопрос как на SO, так и на других сайтах.
Основываясь на том, что я узнал с помощью Google и других сайтов, нам нужно использовать Bands для достижения этой цели.
Может кто-нибудь, пожалуйста, объясните мне решение вышеуказанной проблемы (полосы), вы можете указать любые хорошие ссылки или некоторые статьи, или вы можете написать пример кода для объяснения. Мне просто нужно достаточно информации, чтобы начать решение этой проблемы.


person Pratik Singhal    schedule 24.11.2013    source источник


Ответы (1)


«В новых разработках следует использовать панели миниатюр вместо настольных полос, которые не поддерживаются в Windows 7». -MSDN

К сожалению, похоже, что Microsoft не одобряет создание графических интерфейсов на панели задач, о которых вы говорите. Альтернативный вариант — использовать расширения панели задач, как обсуждалось здесь. MSDN, по-видимому, предоставляет некоторую противоречивую информацию на странице расширения панели задач, направляя разработчиков на страницу IDeskBand2 (откуда взята цитата вверху). Для будущей совместимости я бы по-прежнему рекомендовал против этого.

Если вы твердо настроены на это или по какой-то причине вы нацелены только на XP (или Vista), может быть полезно следующее:

Although they can be used much like normal windows, band objects are COM objects that exist within a container. Explorer Bars are contained by Internet Explorer, and desk bands are contained by the Shell. While they serve different functions, their basic implementation is very similar. The primary difference is in how the band object is registered, which in turn controls the type of object and its container. This section discusses those aspects of implementation that are common to all band objects. See A Simple Example of a Custom Explorer Bar for additional implementation details. In addition to IUnknown and IClassFactory, all band objects must implement the following interfaces:
- IDeskBand
- IObjectWithSite
- IPersistStream

In addition to registering their class identifier (CLSID), the Explorer Bar and desk band objects must also be registered for the appropriate component category. Registering the component category determines the object type and its container. Tool bands use a different registration procedure and do not have a category identifier (CATID). The CATIDs for the three band objects that require them are:
- Band Type: Component Category
- Vertical Explorer Bar: CATID_InfoBand
- Horizontal Explorer Bar: CATID_CommBand
- Desk Band: CATID_DeskBand

Почти все, что вам нужно знать, можно найти здесь

person TheToolBox    schedule 08.06.2014