![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Найти запущенную копию приложения и установить на нее фокус
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