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

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

Активизировать чужое окно [D5, Win95/98, Win2k, WinXP]


Vcoder ©   (2005-10-12 11:13:00) 

Необходимо, чтобы после закрытия моей программы активным сделалось окно другой программы. Что я делаю:

Перебираю все окна с помощью функции EnumWindowsи нахожу нужное (по подстроке в заголовке);
потом вызываю
   BringWindowToTop(h);
   ShowWindow(h,SW_SHOW);


Этот код работает кроме того случая, когда нужное окно свернуто в  панель задач. А как сделать, чтобы работало в любом случае?


Vcoder   (2005-10-12 11:30:00) [1]

Leonid Troyanovsky ©   (12.10.05 11:25) [2]

Спасибо. Все ОК.


Leonid Troyanovsky   (2005-10-12 11:25:00) [2]


> Vcoder ©   (12.10.05 11:13)  

>    BringWindowToTop(h);
>    ShowWindow(h,SW_SHOW);

> Этот код работает кроме того случая, когда нужное окно свернуто
> в  панель задач. А как сделать, чтобы работало в любом случае?


Во-первых, SetForegroundWindow (без проблем, если foreground было
твое приложение).
Во-вторых,

if IsIconic(Wnd) then
   PostMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, 0);

--
Regards, LVT.


-=S..S=-   (2005-10-12 11:25:00) [3]

SetForegroundWindow(h) или
SetActiveWindow(h)
> Владислав ©   (12.10.05 11:18) [1]

LoooooooooooL


Владислав   (2005-10-12 11:18:00) [4]

Я не хочу, чтобы у меня на экране окна разворачивались сами собой. Это полтергейст. Чур меня.

Пользователь.


Наверх

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