Вход

Просмотр полной версии : Вопрос к программерам!


mebitek
18.01.2008, 23:53
Пытаюсь в своей проге ловить заголовок окна City Guide и ничего неполучается!
У него заголовок меняется в зависимости от того какая карта загружена!

С другой стороны в той-же Центрафьюзе в поле Window Name достаточно просто написать City Guide и всё нормально встраивается !
Что делать?

Извиняюсь за сумбурность!

terracan
19.01.2008, 00:24
Пытаюсь в своей проге ловить заголовок окна City Guide и ничего неполучается!
У него заголовок меняется в зависимости от того какая карта загружена!

С другой стороны в той-же Центрафьюзе в поле Window Name достаточно просто написать City Guide и всё нормально встраивается !
Что делать?

Извиняюсь за сумбурность!У тебя тачевая версия или нет? На сколько помню в тачевой в настройках есть возможность отключить изменение заголовка. Сделано по просьбе соклубников для встройки во фронты.

Мастер
19.01.2008, 00:42
>в той-же Центрафьюзе в поле Window Name достаточно....
там может быть просто алгоритм поиска покруче - найти все процессы, среди них найти тот который содержит или начинается с нужной фразы и уже после этого обращается.

Vad71
20.01.2008, 02:09
Надо писать свою функцию поиска окна. Я реализовывал через EnumWindow. В EnumWindowProc осуществляешь поиск на вхождение строки. А по-хорошему еще надо и среди дочерних окон искать уже через EnumChildWindow... На чем вообще пишешь? Я недавно эту задачу на С++ решил, могу кинуть процедурку

mebitek
20.01.2008, 20:00
Пишу на delphi .
Если не затруднит кинь процедурку, я переделаю!
А как ты заголовок окна убираешь?

Bandures
23.01.2008, 12:11
А по Window class name не пробовал ?
Вполне может быть уникальным.

Vad71
24.01.2008, 04:22
2 frontera

Андрюх, че-то с этой веткой происходит... Посты то исчезают, то вновь появляются.....

xDriver
24.01.2008, 14:44
А как ты заголовок окна убираешь?

l : LongWord;
PGS - хендел окна полученный FindWindow.

l := GetWindowLong(PGS, GWL_STYLE);
if l <> 0 then begin
l := l and (not WS_DLGFRAME) and (not WS_SIZEBOX);
SetWindowLong(PGS, GWL_STYLE, l);
end;

Vad71
25.01.2008, 02:16
можно вместо
l := l and (not WS_DLGFRAME) and (not WS_SIZEBOX);
использовать
l := l and (not WS_CAPTION);