![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Ku4er |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Есть такая прога Network Assistant 4.1. Кто не знает - это чат для локалки. Слишком функциональный - показывает заголовок активного окна каждого подключенного юзера. Я думаю перехватывает с помощью WinAPI. Как не знаю, но хочу разобраться и пресечь сиё позорное занятие. Помогите плиз.
|
|||
|
||||
| Guedda |
|
||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 3 Всего: 78 |
Получаем текст заголовка окна.
Процедура переименования заголовка окна:
Это сообщение отредактировал(а) Guedda - 21.1.2006, 16:26 -------------------- Ll 2 |
||||
|
|||||
| Ku4er |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Спасибо большое за помощь
|
|||
|
||||
| Ku4er |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Хм,вроде разобрался, но....
мне необходимо не заменять заголовок окна, а перехватывать отслеживание (?) заголовка окна другой программой (при этом желательно не менять сам заголовок), если это возможно. Вопрос в догонку: каким образом мне выяснить какое окно активно в момент времени? |
|||
|
||||
| Guedda |
|
||||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 3 Всего: 78 |
См мой пост выше... Первая функция:
Я думаю, что необходимо перехватывать все сообщения программы, которая отслеживает эти самые заголовки. И если программа посылает сообщение отслеживания, тогда передать другое сообщение. Это сообщение отредактировал(а) Guedda - 22.1.2006, 19:38 -------------------- Ll 2 |
||||||
|
|||||||
| Ku4er |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
C определением хендла активного окна разобрался. А вот про перехват сообщений хотелось бы узнать подробней.
Это сообщение отредактировал(а) Ku4er - 23.1.2006, 15:01 |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 2 Всего: 74 |
Архангельский в помощь! книга "для освоивших Дельфи"
-------------------- Всем добра |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Уточню вопрос.
Ты хочешь перехватывать создание новых окон или появление новых кнопочек на панели задач. Что именно тебя не устраивает? |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
Те надо перехватить от нужного тебе приложения всего две месаги, которые это приложение будет посылать активному окну,
1. WM_GETTEXT 2. WM_GETTEXTLENGTH Первое берет текст, второе определяет его длинну. -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 3 Всего: 78 |
В общем посмотрел эту программу.
Чего париться, если можно убрать в самой программе высвечивание твоих активных окон? -------------------- Ll 2 |
|||
|
||||
| Ku4er |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 10.12.2005 Репутация: нет Всего: нет |
Я хочу чтоб был мир во всём мире Сорри за флуд. Мне необходимо перехватывать ни создание дочерних окон, ни появление всяких кнопочек, а перехватить обращение программы к заголовку активного окна, которое не я вляется дочерним (это может быть браузер, игра и т.д.). Т.е. если прога захочет показать какому-либо пользователю в сети какое окно у меня открыто в текущий момент, вместо заголовка она получила бы что-то типа "Не подглядывай ))". В принципе я этого уже добился благодаря товарищу Guedda: программка на Delphi просто заменяет заголовок активного окна на тот, который задам я, но поскольку это очень сильно отдает кривизной, хотелось бы найти другое решение задачки.
Можно, но это, извините за ребячество, будет не кодерски Это сообщение отредактировал(а) Ku4er - 24.1.2006, 15:52 |
||||
|
|||||
| Tappxxor |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Но допустим есть аналогичная программа, в которой нельзя это вырубить в настройках.. Как было сказано выше, надо перехватывать WM_GETTEXT и WM_GETTEXTLENGTH - и наверное подменять там строку.. На одном из форумов предложили использовать SetWindowsHookEx.. Буду признателен, если кто-нибудь подскажет как примерно это реализовать для данного случая и тип хука, который надо ставить. |
|||
|
||||
![]()
|
| Правила форума "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. |