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

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

не находится хэндл у самой программы [D7, XP]


cvg ©   (2006-12-28 17:08:00) 

Программа делает активным окно другой программы, а потом должна обратно перевести фокус на себя. У той другой программы имя класса = 'InfoClass', хэндл находится без проблем. У самой программы (согласно утилите Spy++) имя класса = 'TMainForm'. Но функция FindWindow почему-то упорно возвращает ноль :(. В чем может быть дело?

Примеры успешного и неуспешного обращения к функции FindWindow:

    wHandle := FindWindow('InfoClass');
    h_prg := FindWindow('TMainForm');


Elen   (2006-12-29 09:03:00) [1]


> cvg

Пожалуйста. Креативные Извраты всегда работают ;)


cvg   (2006-12-29 08:58:00) [2]

Спасибо, Elen, сработало! :)


Elen   (2006-12-29 08:51:00) [3]


> cvg

Вот тебе выкрутас один: приводит форму наверх

Form1.FormStyle:=fsStayOnTop;
Form1.FormStyle:=fsNormal;


Не суди за код строго, мне иногда помогает.


cvg   (2006-12-29 08:31:00) [4]

windows.BringWindowToTop(MainForm.Handle);тоже никакого видимого влияния на ход выполнения программы не оказывает :(


Elen   (2006-12-29 08:19:00) [5]


>  а потом должна обратно перевести фокус на себя.

BringWindowToTop( Form1.Handle)Где Form1 - главная форма


cvg   (2006-12-29 08:13:00) [6]

Хмм... Всё это хорошо, но почему-то строка windows.BringWindowToTop(self.Handle);окно текущей программы в фокус не помещает. Почему бы это?


Рамиль   (2006-12-28 18:08:00) [7]

А Self.Handle уже не катит?


Наверх

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