Работа с приложения на панели задач

Тема в разделе "WASM.BEGINNERS", создана пользователем Xerx, 3 июл 2007.

  1. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Может я ищу рецепт велосипеда, но как работать со списком приложений на панели задач (кнопки приложений)? Есть какой-либо способ добавления/удаления приложений с нее, а также получения списка присутствующих на панели задач приложений?

    Цель - избавится от кучи кнопок, реализовать переключение через собственный интерфейс. Но для этого нужно получать список уже присутствующих на панели приложений, удалять их оттуда ("перенося" в свой список), добавлять обратно и т.д. Плюс нужно как-то определять, что на панели появилась новая программа (ловить некое сообщение или вызов функции).

    Кто-нибудь может помочь в этом деле? Принимаю любые разумные варианты.

    Заранее спасибо!
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Вообще интерфейс работы с ней реализован через COM, нужное тебе - интерфейс ITaskbarList (ITaskBarList2)
    У него есть методы Add и Delete, угадай что они делают.
     
  3. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    пример работы с панелью задач через COM есть в Fasm
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Посмотри исходники BBWin (blackbox под винду).
     
  5. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Great
    Все понятно. Только похоже что пример использования с сайта удален. А больше на asm'е я не нашел. Нашел только использование COM в целом. Попробую. Если что не получится, то еще напишу в эту ветку.

    assorted
    Не а. Там пример другого рода - работа с треем. (SysTray "Simple example of windows tray application")
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Не-а. Как раз там в папочке USECOM есть пример работы с панелью задач.
     
  7. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia
    Great
    да, посмотрел, точно есть.....
    Тока я вообще не представляю, как перенести вот это на MASM:
    Код (Text):
    1. struc GUID def
    2.  {
    3.    match d1-d2-d3-d4-d5, def
    4.     \{
    5.       .Data1 dd 0x\#d1
    6.       .Data2 dw 0x\#d2
    7.       .Data3 dw 0x\#d3
    8.       .Data4 db 0x\#d4 shr 8,0x\#d4 and 0FFh
    9.       .Data5 db 0x\#d5 shr 40,0x\#d5 shr 32 and 0FFh,0x\#d5 shr 24 and 0FFh,0x\#d5 shr 16 and 0FFh,0x\#d5 shr 8 and 0FFh,0x\#d5 and 0FFh
    10.     \}
    11.  }
    12.  
    13. interface ITaskBarList,\
    14.        QueryInterface,\
    15.        AddRef,\
    16.        Release,\
    17.        HrInit,\
    18.        AddTab,\
    19.        DeleteTab,\
    20.        ActivateTab,\
    21.        SetActiveAlt
    22.  
    23.  CLSID_TaskbarList GUID 56FDF344-FD6D-11D0-958A-006097C9A090
    24.  IID_ITaskbarList GUID 56FDF342-FD6D-11D0-958A-006097C9A090
    25.  
    26.  ShellTaskBar ITaskBarList
    С остальным вроде без проблем.
     
  8. Xerx

    Xerx Алексей

    Публикаций:
    0
    Регистрация:
    17 фев 2005
    Сообщения:
    528
    Адрес:
    Russia