![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить активирование приложения [D6, Win95/98, Win2k, WinXP]
Ragazor © (2005-09-12 11:40:00)Есть 1 приложение "А1" из него запускается 2 - "А2" через функцию, которая ждет закрытия "А2" и выполнятеся дальше "А1".
В этой функции ожидание порисходит внутри такого цикла
repeat
case WaitForSingleObject(
ProcessInfo.hProcess, 100) of
WAIT_OBJECT_0 : Closed := True;
WAIT_FAILED : RaiseLastWin32Error;
end;
Application.ProcessMessages;
until (Closed);
Вопрос: Как отловить, что пользователь переключился на окно программы "А1", при этом не закрыв "А2", и далее принудительно активировать "А2" вместо "А1"?
Ragazor (2005-09-12 13:48:00) [1]Удалено модератором
Примечание: Offtopic
Ragazor (2005-09-12 13:45:00) [2]Удалено модератором
Примечание: Offtopic
Игорь Шевченко (2005-09-12 13:30:00) [3]
> А работа стоит...
Очевидно, это не наша проблема, не так ли ? Аргумент - "я не хочу изучать, потому что мне надо что-то сделать быстро" является оскорблением для участников форума, так как вы получаете за свою работу деньги, а те, кто вам отвечает - за вашу работу не получает.
Ragazor (2005-09-12 13:07:00) [4]Покорнейше простите, но:
- если у Вас туго с WinAPI то может следует его подучить ?
Следует, сам знаю... осталось найти время. А работа стоит...
Котик Бегемотик (2005-09-12 12:43:00) [5]Покорнейше простите, но:
- если у Вас туго с WinAPI то может следует его подучить ?
- попробуте сначала реализовать с помощью классов Delphi.
Unit SyncObjs + Find All "Mutex".
Ragazor (2005-09-12 12:34:00) [6]Если можно 2 вариант по подробнее, а то с АПИ у меня туго...
WM_ACTIVATE (2005-09-12 12:11:00) [7]При окрытии "А2" создается обект синхронизации, например мьютекс с уникальным именем, а при закрытии этот объект уничтожается.
В программе "А1" при обработке WM_ACTIVATE проверяется существование мьютекса и если такой существует то фокус перемещается на "А2".
Хотя может проще сделать "А1" ShowWindow(Handle, SW_HIDE); ???
Ragazor (2005-09-12 11:52:00) [8]Не совсем понял о чем речь...
WM_ACTIVATE (2005-09-12 11:47:00) [9]+ Объекты синхронизации создаваемые на время жизни "А2"