![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Текст на панельки [D7]
Rem © (2004-09-21 09:06:00)Здравствуйте все!!! Подскажите плз, как мне можно изменить текст на панели в другом приложении? Пробовал посылать сообщение WM_SETTEXT, но он меняет только Caption панели, а мне надо на самой панели. Есть другой вариант - сабклассить панель и в событии перерисовки закрашивать ее, а после этого наносить свой текст на контекст устройства, но это муторно, можно ли как-нть попроще?
Fay (2004-09-21 16:01:00) [1]www.masm.ru
Rem (2004-09-21 15:57:00) [2]А ссылочку можно?
Digitman (2004-09-21 15:54:00) [3]
> Rem (21.09.04 15:43) [8]
это далеко не пара-тройка строчек кода
абстрагируйся на время от своей задачи и сосредоточься на изучении формата PE-файлов ... цель - полное понимание назначения и использования системным загрузчиком таблиц импорта и экспорта
Rem (2004-09-21 15:43:00) [4]а как перехватывать все вызова MessageBox'а?
> подставлять в вызов ориг.ф-ции свои параметры
т.е. в функцию
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType);
подставить свой заголовок? Если можно какой-нть примерчик, не очень понятно
Digitman (2004-09-21 14:22:00) [5]
> Rem (21.09.04 13:57) [6]
внедрить в АП "чужого" процесса свой код, который будет перехватывать все вызовы messageBox() и подставлять в вызов ориг.ф-ции свои параметры
Rem (2004-09-21 13:57:00) [6]Вот такой вопрос в дангонку еще, как можно изменить заголовок MessageBox'а, другого приложения?
Коля (2004-09-21 12:01:00) [7]В WinApi (Windows.pas) есть ф-ция
SetWindowText(Окно, Название);
Окно можно взять, например, активное или по названию класса итд
Rem (2004-09-21 10:44:00) [8]
> RustiK
Я пытаюсь изменить текст на панели в другом приложении, как я могу это сделать через Application.Title?
Rem (2004-09-21 10:43:00) [9]нет, допустим когда мы в дельфях выставляем компонент TPanel, то на нем появляется текст, но это Caption. Вот в другом приложении подобная штука, но spy++ мне показал, что поле Text равно ''. Тогда это наверно получается на контексте устройства. Ну я решил вообщем проблему, путем обработки WM_PAINT, и закрашиваю тока ненужный участок текста, все работает!!!
Zorge (2004-09-21 10:35:00) [10]А что значит - текст на панели? Если это не Caption, то что это? Label, надпись на Canvas и т.д.?? Если идет прямая работа с DC, то ничего другого, кроме перехвата WM_PAINT IHMO не поможет. Хотя, можно попробовать еще в памяти приложения искать выводящиеся данные и их заменять, но это уже из области фантастики.
RustiK (2004-09-21 10:29:00) [11]Попробуй и спльзовать что-то вроде Application.Title может и прокатит