![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| AlexxO |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.1.2004 Где: Belarus, Borisov Репутация: нет Всего: нет |
Помогите пжалста определить ID иконки в трее сторонней тулзы (надо для удаления этой иконки с трея).
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
нельзя его определить
( одно время сам пытался ) разве-что хук цеплять -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| AlexxO |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 21.1.2004 Где: Belarus, Borisov Репутация: нет Всего: нет |
ну а как тогда скрыть иконку стороннего приложения в трее по-другому? |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
а фиг его знает
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
ID пока не смог определить... но вот вполне рабочий пример
Завтра дальше покопаю MSDN Это сообщение отредактировал(а) Girder - 14.8.2004, 01:34 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
а весь проект можно ( а то Delphi под рукой нет, а поиграться хочется )?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Какой проект? Скомпилированный файл?
Я пока не могу прикреплять файлы к сообщению. _hunter идея проста. Делается трассировка по всем кнопкам в ToolBar-е. Определяется их номера и всплывающая подсказка. И в обработчике bDeleteClick происходит удаление желаемой кнопки(то есть не обходимый результат достигнут). А на счет ID иконки, мне просто самому хочется это определить, так как хочется найти рещения(на будушее для себя) как обойти ошибки в XP связанные с не правильной выдачи результатов на некоторые сообщения(TB_). В MSDN описание этих багов есть, а вот пути решений нет. Кстати, я не вижу проблемм перенести этот код на Си. P.S. _hunter ту статью(CreateProcess) я не нашел. Но если в кратце там следущее(исходник текста на англ): Один аналитик описывал проблеммы безопасности и некоторые выводы касались ShellExecute, типо: Об возможном ограничения функциональности данной функции в дальнейшем. -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Подправил код, см. выше.
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
А может есть функция типа WindowFromPoint
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Клиенскую область ты можеш определить только для видемых иконок и то применение WindowFromPoint для них тебе ни чего не даст.
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
_hunter у меня получилось и картинки извлечь.
Если тебе или кому будет интересно, могу исходники выложить. -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
очень интересно
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Girder |
|
||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Все очень просто оказалось.
Можно получить иконки исходя из этого: SendMessage(TrayTB32,TB_GETIMAGELIST,0,0); НО есть для WinXP маленькая проблеммка: http://support.microsoft.com/default.aspx?...Ben-us%3B811415 Все ниже сказанное справедливо для WinXP, на остальных пока не проверял (для более ранних Win через TB_GetImageList и типо того). По этому я пошел другим путем... -По путно приняв следующие данные 1)Tray - Это даже не совсем окно 2)Кнопки - в tray это просто картинки. 3) См. выше код: У нас в принципе все есть, и более того мы можем любому приложению в Tray заменить картинку послав сообщение TB_CHANGEBITMAP 4)Да и как видно из кода(см.выше)... любую кнопку мы можем удалить Как видно дело осталось только в красоте приложения... что бы с картинками... 1)Нам надо раскрыть Tray:
2)Определить размер занимаемыми иконками и просто копируем их из Tray
3)Закрываем Tray
У нас все есть... а индексы картинок будут совпадать с Нулевыми индексами кнопок, т.е. b^.iButton. _hunter понял? Ладно к завтра перепешу польностью код и погоняю и тогда полностью выложу весь код. Кстати, а к моему посту модератор может прицепить вложенные файлы? Что бы и исходники... и скомпилированный прогу подцепить? -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||
|
|||||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Прога готова. Теперь бы кто помог её подцепить к сообщению для тестирования. А?
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Girder, кидай мне на мыло, прицеплю...
-------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |