WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Как можно определить номер кнопки моего окна в TaskBar'e?

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Как можно определить номер кнопки моего окна в TaskBar'e?
SUnteXx опубликован 17-01-2002 12:27 MSK   Click Here to See the Profile for SUnteXx   Click Here to Email SUnteXx  
Hello, all!

Как можно определить номер кнопки моего окна в TaskBar'e? Пробовал по тексту окна, текста не дает, пробовал по тексту тултипа - них не получилось. Может у кого идеи есть?

ADK опубликован 17-01-2002 12:43 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Панель Задач - это, как известно, Tab Control со стилем Buttons. Поэтому логично юзать функции таба. Если не получится из-за того, что разные процессы, можно попробовать проникнуть в explorer.exe через хуки. К примеру, через WH_SHELL можно отследить щелчок по кнопке на Панели Задач, и пробраться к таб контролу...
SUnteXx опубликован 18-01-2002 13:38 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Начнем с того, что ТаскБар - тулбар (по крайней мере в ХР)! Посмотрите его класс. ToolbarWindow32!

Мне надо определить кнопку своего окна в таскбаре без каких-либо нажатий. Пробовал получить инфу о кнопку, ничего не возвращает, пробовал получить текста кнопок, нифига, пробовал уже по тултипам определять, тоже отправили на хутор погулять:(

Может у кого есть идеи?

ADK опубликован 18-01-2002 14:00 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Конечно, на таскбаре есть пара тулбаров, но где копки задач - это SysTabControl32, по крайней мере везде, кроме XP (там не смотрел).
SUnteXx опубликован 20-01-2002 12:22 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
2ADK:
Вот смотри как приходится искать TaskBar:(

----------------------------------------------------------------------------

HWND hWnd = FindWindow("Shell_TrayWnd", NULL);
HWND hWnd1 = FindWindowEx(hWnd, NULL, "ReBarWindow32", NULL);
hWnd = FindWindowEx(hWnd1, NULL, "MSTaskSwWClass", NULL);
hWnd1 = FindWindowEx(hWnd, NULL, "ToolbarWindow32", "Running Applications");

----------------------------------------------------------------------------

Вопрос в силе:)

Как определить номер кнопки моей проги в таскбаре?

Flex Ferrum опубликован 20-01-2002 12:58 MSK     Click Here to See the Profile for Flex Ferrum  Click Here to Email Flex Ferrum     
А ты попробуй прицепить хук к этому окну и уже им определять номер твоей кнопки. И вообще управлять таскбаром. Может поможет :))) Вообще, для некоторых мессаг есть ограничение на использование между процессами. Тоесть, ты можешь их посылать только окнам своего процесса. Может быть это как раз из той самой серии...
Kostik опубликован 20-01-2002 07:11 MSK     Click Here to See the Profile for Kostik  Click Here to Email Kostik     
Я присоединяюсь к вопросу.

По завершению работы программы очень часто остаётся пустая кнопка.
Хотелось-бы контролиравать этот процесс. ...

SUnteXx опубликован 21-01-2002 11:32 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Что, нет ни у кого соображений по этому поводу?
ADK опубликован 21-01-2002 12:32 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Я тебе говорил, сделай хук. Хотя бы затем, чтобы работать в том же процессе и потоке даже. Там всё должно заработать.
Kostik опубликован 21-01-2002 13:43 MSK     Click Here to See the Profile for Kostik  Click Here to Email Kostik     
Не знаю как кто, но я пользую хуки в самых крайних случаях, т.к. это возвращение к WIN16. А это само по себе западло.

Было-бы здорово еслиб у кого-нибудь возникла другая идея.

ADK опубликован 21-01-2002 13:52 MSK     Click Here to See the Profile for ADK  Click Here to Email ADK     
Хуки, конечно, говённая вещь, но насчёт win16 ты загнул. Я просто говорю о любом способе внедрения внутрь explorer.exe
SUnteXx опубликован 23-01-2002 12:18 MSK     Click Here to See the Profile for SUnteXx  Click Here to Email SUnteXx     
Может еще как-нить можно? Или придется заводить отдельную глобальную переменную, в которой будет храниться номер кнопки моей проги, который будет определяться путем узнавания количества кнопок в ТаскБаре при загрузке проги, ведь количество будет означать номер моей кнопки:).
One опубликован 23-01-2002 13:02 MSK     Click Here to See the Profile for One  Click Here to Email One     
Глянь мой топик Десктоп, я там по этому поводу прошелся

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.