Вниз
Скачать: 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
14-1088509025
blackweber
2004-06-29 15:37
2004.07.18
Win98 - сеть - WinXP


3-1088182867
zokzok
2004-06-25 21:01
2004.07.18
ttable vs tquery


1-1088689276
Анонимщик
2004-07-01 17:41
2004.07.18
try ... finally


8-1083581189
Pavel
2004-05-03 14:46
2004.07.18
Заголовки OpenGl


14-1088110175
VID
2004-06-25 00:49
2004.07.18
Посоветуйте он-лайн переводчик




   Наверх