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

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

Найти запущенную копию приложения и установить на нее фокус


Rem ©   (2004-06-04 12:57:00) 

При запуске приложения проверяется наличие уже запущенной копии:

Mutex := OpenMutex(MUTEX_ALL_ACCESS, false, csAppName);
if (Mutex <> 0) then
begin
 Wnd := FindWindow(0, csAppName);
 BringWindowToTop(Wnd); // это работает не так, как нужно (см. далее)
 // надо установить фокус на уже запущенное приложение
 Halt(0);
end;

Можно было бы (как в примере) просто установить фокус на основное окно приложения, но...
Проблема в том, что, в некоторых режимах, основное окно может быть невидимым, а остальные окна - видимы. Каким образом установить фокус на любое окно приложения, видимое в данный момент? То-есть, установить фокус на приложение (коряво как-то сказано)?


Rem   (2004-06-04 13:07:00) [1]

Спасибо


Clickmaker   (2004-06-04 13:06:00) [2]

SetForegroundWindow


Наверх

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