Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Минимизация приложения   Найти похожие ветки 

 
Vasily Terekhov   (2002-11-06 12:04) [0]

Привет.

Написал hook, который в ответ на комбинацию клавиш, сворачивает активное приложение. Для этого посылаю сообщение активному окну:

w := GetForegroundWindow;
SendMessage(w, WM_SYSCOMMAND, SC_MINIMIZE, 0);


Но этот код сворачивает только окно, я же хочу добиться сворачивания всего приложения, независимо, какое окно этого приложения активно.

Для этого я переделал код:

w := GetForegroundWindow;
while GetParent(w) <> 0 do
w := GetParent(w);
SendMessage(w, WM_SYSCOMMAND, SC_MINIMIZE, 0);


Это заработало, но не для всех окон.

Сразу отмечу, что дестировал я это на IDE Delphi.
Так вот, если например активно окно Object Inspector, то все нормально, т.к. Object Inspector имеет предка главное окно дельфи.

Но если активно окно редактора кода, то мой код не прокатывает, т.к. редактор кода вообще не имеет parent"а.

Вопрос собственно в чем: можно ли свернуть все приложение, зная только дескриптор одного из окон, принадлежащих приложению?

я так понимаю, что надо получить дескриптор главного окна приложения.

Можно ли его получить, зная ID процесса приложения? (т.к. ID процесса можно получить по любому окну приложения с помощью GetWindowThreadProcessID)


 
Marcus   (2002-11-06 13:54) [1]

У любого окна, у которого нет Parent"a, есть Owner, а это и есть главное окно приложения
GetWindow(w, GW_OWNER)


 
Vasily Terekhov   (2002-11-06 14:49) [2]

Ok, Marcus
Thanks



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

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-61444
Шурик Ш
2002-11-29 14:08
2002.12.19
Роли на SQL-сервере и аутентификация через БДЕ


3-61391
Stenkz
2002-12-02 05:47
2002.12.19
Может ли TQuery обращаться не к физической таблице, а к другому .


1-61595
^Sanya
2002-12-10 11:51
2002.12.19
Создание компонента:


14-61780
Grande
2002-11-27 10:11
2002.12.19
Кому-нибудь нужна книга по Delphi5?


3-61473
nick-from
2002-12-02 00:59
2002.12.19
Exception