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

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

Как передать фокус чужому приложению? [D7, XP]


Alex_C ©   (2006-04-05 14:56:00) 

Делал так:
Windows.SetFocus(FindWindow(nil, 'Progs'));
и так:
ShowWindow(FindWindow(nil, 'Progs'), sw_show);
эффекта нет!


Alex_C   (2006-04-05 15:36:00) [1]

Ок! Спасибо работает!
Тогда такой еще вопрос:
Моя основная программа когда запускается, она запустает еще и дочерние программы, и я хочу чтоб фокус был у той проги, что было активной при закрытии основной программы. Я делаю так:
RunPrograms; - в  этой ф-ции я через ShellExecute запускаю мои программы, а затем
case LastActive{переменная хранящая инфо о последней активной проге} of
...
выбираю какая из программ была активна и делаю
SetForeGroundWindow(hWnd);
Проблема в том, что как я понял в ф-ции RunPrograms - не всегда все проги успевают открыться до выполнения активации последней активной проги, и в рез-те активной становится последняя запущенная прога. Как этого избежать?


balepa   (2006-04-05 15:02:00) [2]

SetForeGroundWindow(hWnd: HWND);


Наверх

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