Когда пользователь минимизирует окно (либо с помощью окна на строке заголовка, или путем выбора «Минимизировать» вариант из меню системы), приложение получит WM_SYSCOMMAND
message. Параметр wParam
этого сообщения будет содержать значение SC_MINIMIZE
, которое указывает конкретный тип запрашиваемой системной команды. В этом случае вам не все равно lParam
.
Поэтому вам необходимо настроить карту сообщений, которая прослушивает сообщение WM_SYSCOMMAND
с wParam
, установленным на SC_MINIMIZE
. После получения такого сообщения вы должны выполнить свой код, чтобы свести к минимуму ваше приложение в области уведомлений панели задач, и вернуть 0 (указывая, что вы обработали сообщение).
Я не уверен, какой графический интерфейс вы используете. Пример кода может потенциально сильно отличаться для разных наборов инструментов. Вот то, что вы могли бы использовать в прямом приложении Win32 C:
switch (message)
{
case WM_SYSCOMMAND:
if ((wParam & 0xFFF0) == SC_MINIMIZE)
{
// shrink the application to the notification area
// ...
return 0;
}
break;
}
Я бы просто хотел спросить, есть ли WM_Destroy для выхода, что свести к минимуму? –
Вы хотите сделать так, чтобы ваша программа минимизировала себя в области уведомлений, когда пользователь нажимает кнопку «Свернуть»? –
да, что я хочу знать в C++ –