| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Подмена заголовка активного окна |
| Автор: Ku4er 21.1.2006, 13:25 |
| Есть такая прога Network Assistant 4.1. Кто не знает - это чат для локалки. Слишком функциональный - показывает заголовок активного окна каждого подключенного юзера. Я думаю перехватывает с помощью WinAPI. Как не знаю, но хочу разобраться и пресечь сиё позорное занятие. Помогите плиз. |
| Автор: Guedda 21.1.2006, 16:25 | ||||
Получаем текст заголовка окна.
Процедура переименования заголовка окна:
|
| Автор: Ku4er 22.1.2006, 12:53 |
| Спасибо большое за помощь |
| Автор: Ku4er 22.1.2006, 18:26 |
| Хм,вроде разобрался, но.... мне необходимо не заменять заголовок окна, а перехватывать отслеживание (?) заголовка окна другой программой (при этом желательно не менять сам заголовок), если это возможно. Вопрос в догонку: каким образом мне выяснить какое окно активно в момент времени? |
| Автор: Guedda 22.1.2006, 19:36 | ||||||
См мой пост выше... Первая функция:
Я думаю, что необходимо перехватывать все сообщения программы, которая отслеживает эти самые заголовки. И если программа посылает сообщение отслеживания, тогда передать другое сообщение. |
| Автор: Ku4er 23.1.2006, 14:33 |
| C определением хендла активного окна разобрался. А вот про перехват сообщений хотелось бы узнать подробней. |
| Автор: SoWa 23.1.2006, 19:48 |
| Архангельский в помощь! книга "для освоивших Дельфи" |
| Автор: Snowy 24.1.2006, 10:33 |
| Уточню вопрос. Ты хочешь перехватывать создание новых окон или появление новых кнопочек на панели задач. Что именно тебя не устраивает? |
| Автор: Romikgy 24.1.2006, 11:26 |
| Те надо перехватить от нужного тебе приложения всего две месаги, которые это приложение будет посылать активному окну, 1. WM_GETTEXT 2. WM_GETTEXTLENGTH Первое берет текст, второе определяет его длинну. |
| Автор: Guedda 24.1.2006, 15:44 |
| В общем посмотрел эту программу. Чего париться, если можно убрать в самой программе высвечивание твоих активных окон? |
| Автор: Tappxxor 25.11.2007, 13:30 | ||
Но допустим есть аналогичная программа, в которой нельзя это вырубить в настройках.. Как было сказано выше, надо перехватывать WM_GETTEXT и WM_GETTEXTLENGTH - и наверное подменять там строку.. На одном из форумов предложили использовать SetWindowsHookEx.. Буду признателен, если кто-нибудь подскажет как примерно это реализовать для данного случая и тип хука, который надо ставить. |