Вниз
Скачать: CL | DM;

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

← →
Rem   (2004-06-04 12:57) [0]

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

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

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


← →
Clickmaker ©   (2004-06-04 13:06) [1]

SetForegroundWindow


← →
Rem   (2004-06-04 13:07) [2]

Спасибо



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
6-1084866238
adndrushaa
2004-05-18 11:43
2004.07.18
немогу узнакть количество байт на отправку сообщения IdSMTP


4-1086531338
Max
2004-06-06 18:15
2004.07.18
Чем заменить Application.ProcessMessages?


3-1087911763
Apv
2004-06-22 17:42
2004.07.18
2 активные БД (ODBC)


14-1088057782
Dmitriy O.
2004-06-24 10:16
2004.07.18
А вот зачем Микрософт разработал Access ?


3-1088174881
*boba*
2004-06-25 18:48
2004.07.18
Запрос?




   Наверх