Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как поменять заголовок окна чужого приложения? [D6, D7, WinXP]


Юлия ©   (2003-05-12 10:55:00) 

SetWindowText(Wnd,"заголовок"); - меняется заголовок только в диспетчере задач.
Как это сделать?
Помогите, пожалуйста.


Юлия   (2003-05-12 17:48:00) [1]

Я разобралась, спасибо огромное!!!


nikkie   (2003-05-12 17:32:00) [2]

Restorator вроде позволяет ресурсы менять, хотя 100% не ручаюсь. А если текстовые константы использовались - то HEX редактором просто.


Игорь Шевченко   (2003-05-12 17:28:00) [3]

Юлия (12.05.03 17:23)

Тогда WinSight в руки и поиск нужного окна...


Юлия   (2003-05-12 17:23:00) [4]

Хочет, просто жаждет. Это моя прога, от который утеряны исходники. Ее надо немного поменять.


Игорь Шевченко   (2003-05-12 16:13:00) [5]

А можно глупый вопрос - зачем менять заголовок окна чужого приложения ? (И хочет ли чужое приложение этого...)


nikkie   (2003-05-12 15:19:00) [6]

>Можно это сделать с помощью setWindowLong?
нет.

Если это приложение на дельфи (а Morfein, между прочим, намекал, что хорошо бы описать что это за приложение), то главное окно невидимо и имеет класс TApplication. Видимое окно принадлежит классу TMainForm или как его там назвали. Возьмите WinSight32 или Spy++ и посмотрите. Отношениями родитель-ребенок они не связаны. Менять caption нужно у обоих окон.


Юлия   (2003-05-12 15:05:00) [7]

Можно это сделать с помощью setWindowLong?
И как?


Юлия   (2003-05-12 13:22:00) [8]

Родителя у него нет.
wndp:=GetParent(wnd);
результат: wndp=0


Юлия   (2003-05-12 13:12:00) [9]

Так это и есть главное окно приложения...


DVM   (2003-05-12 12:06:00) [10]

А это точно обычный заголовок? Может это "самоделка", иммитация? Или то, что я написал выше. Надо выяснить нет ли у этого окна родителя.


Юлия   (2003-05-12 11:38:00) [11]

GetWindowText(Wnd, buff, sizeof(buff));
st:=(StrPas(buff));
if st="Старый текст" then
SetWindowText(Wnd,"Текст");

До выполнения процедуры внизу экрана, в диспетчере задач заголовок был "Старый текст", что совпадало с текстом, отображаемым в строке заголовка окна.
После выполнения процедуры, в диспетчере задач заголовок изменился, а в строке заголовка - остался прежним.


Morfein   (2003-05-12 11:30:00) [12]

На вопрос легче ответить на конкретном примере... /тонкий намёк/


DVM   (2003-05-12 11:13:00) [13]

Может это разные окна (в диспетчере и на экране)? Часто бывает что главное окно программы имеет нулевые размеры, а видимо на экране его дочернее окно. Диспетчер задач показывает заголовок главного окна.


Юлия   (2003-05-12 11:06:00) [14]

нет, в диспетчере задач меняет заголовок правильно. А как поменять caption?


Morfein   (2003-05-12 10:57:00) [15]

Хе... ну значит в Wnd находится handle не того окна... нужно искать другой...


Наверх

Титульная страница Поиск, карта сайта Написать письмо