Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

Подскажите, кто знает?   Найти похожие ветки 

 
boa   (2003-01-27 07:46) [0]

Какой Message посылается приложениям при нажатии на таскбаре кнопки "Свернуть все окна"?


 
Anatoly Podgoretsky   (2003-01-27 08:06) [1]

WM_NINIMIZE по видимому


 
boa   (2003-01-27 08:36) [2]

Если вы имеете ввиду WM_MINIMIZE, то такое сообщение даже отсутствует в документации, сообщение о минимизации отправляется через WM_SYSCOMMAND. Но я проверял, при нажатии на "свернуть все окна" WM_SYSCOMMAND не посылается приложению. Посылается сообщение - $C096. А что это за сообщение так и не могу найти.


 
Игорь Шевченко   (2003-01-27 09:43) [3]

Внутреннее сообщение Shell"a. Вообще, команда "свернуть все окна" на самом деле устанавливает окно рабочего стола на передний план. Так, что окна не сворачиваются, а заслоняются


 
boa   (2003-01-27 10:58) [4]

> Игорь Шевченко
Может конечно оно так и есть, однако если открыть системное меню приложения, после того как были свернуты все окна, то в нем пункт меню "Восстановить" является доступным. А это говорит о том, что приложение знает, что оно находится в минимизинованном состояния, и пусть окна физически заслоняются, а получается что приложение об этом уведомляется. В том то и вопрос - как?


 
DVM   (2003-01-27 11:01) [5]


> boa


> пункт меню "Восстановить" является доступным

не факт, что так и есть. Неоднократно сталкивался с тем, что системное меню отображает не реальное состояние окна, а вообще неизвестно какое.


 
boa   (2003-01-27 12:20) [6]

> DVM

Может в каких то случаях ваше утверждение и имеет место, но в данном случае это стабильный и реальный факт. Кроме того могу утверждать (по крайней мере для WinXP), что при сворачивании всех окон - окна приложения получают сообщение WM_SHOWWINDOW c параметром HIDE, а не просто прячутся за окно рабочего стола.
Так, что состояние окна приложения и меню приложения очень даже соответствуют друг другу.

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


 
Игорь Шевченко   (2003-01-27 12:21) [7]

boa © (27.01.03 10:58)

Угу, знает. Но сообщения ему при этом можно и не посылать, достаточно установить стиль WM_MINIMIZE в окне, и строчка "Восстановить" появится в системном меню.


 
boa   (2003-01-27 12:39) [8]

Я понял что мы друг друга не совсем понимаем.
Попробую пояснить всю проблемму:
Мне нужно знать когда приложение находится в минимизированном состоянии, а когда нет.
Дык вот единственный момент (если он конично единственный) это когда сворачиваются все окна, у меня выпадает из обработки, при чем мне нужно обработать это сообщение до того как скроется окно приложения.
Вот Так.


 
Игорь Шевченко   (2003-01-27 12:56) [9]

Окну посылается сообщение WM_SIZE с wParam = SIZE_MINIMIZED


 
boa   (2003-01-27 13:07) [10]

>Игорь Шевченко © (27.01.03 12:56)

Шас попробуем!


 
Anatoly Podgoretsky   (2003-01-27 13:26) [11]

Игорь Шевченко © (27.01.03 09:43)
Точно и даже всплывающая подсказка называется Show Desktop, остальное на совести переводчика.


 
boa   (2003-01-27 14:05) [12]

Да, WM_SIZE - это почти то, что нужно. Проблемка только в том что это сообшение приходит после того, когда форма уже скрыта.
Ну и на этом большое СПАСИБО!
Может чего и выкраю.


 
KDenis   (2003-01-27 19:45) [13]

а компонент ApplicationEvents (впервые в Delphi5) получает все сообщения до того, как их получит окно, и сообщение это можно стереть (тоесть, сделать так, чтоб окно его не получило)...


 
boa   (2003-01-28 06:02) [14]

>KDenis

Если вы имеете ввиду OnMessage то он получает далеко не все сообщения (насколько я знаю там обрабатываются сообщения переданные через PostMessage). А OnMinimize при сворачивании всех окон тоже не отробатывает.



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

Форум: "WinAPI";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
8-76521
Maz
2002-12-11 12:16
2003.03.24
Flash в Delphi


3-76325
Roman Go
2003-03-05 09:40
2003.03.24
Как связать таблицы


1-76477
AlexanderSK
2003-03-12 12:30
2003.03.24
Форма в Dll и OnMouseEnter


9-76248
Axis_of_Evil
2002-10-25 11:39
2003.03.24
Worms


14-76654
Vavan
2003-03-08 14:44
2003.03.24
ошибка odac





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский