Окно получает это сообщение, когда пользователь выбирает команду из меню окно (ранее известный как меню системы или элемента управления) или когда пользователь выбирает кнопку Развернуть, кнопка свертывания, восстановить кнопку или кнопка закрытия.
WM_SYSCOMMAND uCmdType = wParam; / / Тип команды системы просил xPos = LOWORD(lParam); / / горизонтальное положение на экране координирует yPos = HIWORD(lParam); / / координирует вертикальное положение на экране
| Значение | Значение |
|---|---|
| SC_CLOSE | Закрывает окно. |
| SC_CONTEXTHELP | Изменяет курсор на знак вопроса с указателем. Если пользователь нажимает элемент управления в диалоговом окне, элемент управления получает сообщение WM_HELP. |
| SC_DEFAULT | Выбирает элемент по умолчанию; пользователь двойном меню окна. |
| SC_HOTKEY | Активирует окно, связанное с приложением горячей клавиши. Младшее слово lParam определяет окно для активации. |
| SC_HSCROLL | Прокручивает по горизонтали. |
| SC_KEYMENU | Извлекает меню окна из комбинация клавиш. |
| SC_MAXIMIZE | Разворачивает окно. |
| SC_MINIMIZE | Сворачивает окно. |
| SC_MONITORPOWERnbsp; & nbsp; | Задает состояние отображения. Эта команда поддерживает устройства, которые имеют функции экономии энергии, такие как battery-powered персональный компьютер. lParam может иметь следующие значения: 1 означает, что экран будет низкой мощности. 2 означает, что отключение дисплея. |
| SC_MOUSEMENU | Получает окно меню по щелчку мыши. |
| SC_MOVE | Перемещает окно. |
| SC_NEXTWINDOW | Переход к следующему окну. |
| SC_PREVWINDOW | Переход в предыдущее окно. |
| SC_RESTORE | Восстанавливает окно в его нормальное положение и размер. |
| SC_SCREENSAVE | Выполняет экран заставки приложения, указанного в раздел [boot] системы.Ini-файл. |
| SC_SIZE | Изменение размеров окна. |
| SC_TASKLIST | Активирует меню " Пуск ". |
| SC_VSCROLL | Прокручивает по вертикали. |
Приложение должно возвращать нуль, если она обрабатывает это сообщение.
Функция DefWindowProc выполняет запрос меню окна для предопределенного действия, указанные в предыдущей таблице.
В WM_SYSCOMMAND сообщений четыре младшие биты uCmdType параметра используются внутренне системой. Для получения правильного результата при тестировании значение uCmdType, приложение должно объединить значение 0xFFF0 с uCmdType значением, используя побитовый оператор И.
Пункты меню в меню окна можно изменить с помощью GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItemи SetMenuItem функций. Изменить меню окна приложения должны обрабатывать сообщения WM_SYSCOMMAND.
Приложение может осуществлять любые команды системы в любое время путем передачи сообщения WM_SYSCOMMAND DefWindowProc. WM_SYSCOMMAND сообщения не обрабатывается приложением должен быть передан DefWindowProc. Все команды значения добавлено приложение должно обрабатываться приложением и не могут быть переданы DefWindowProc.
Сочетания клавиш, которые определены для выбора пунктов меню окна переводятся на WM_SYSCOMMAND сообщений; все другие клавиши ускорителя преобразуются в сообщения WM_COMMAND.
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Обзор ускорителями клавиатуры, сообщений ускоритель клавиатуры, Обзор управления питания, AppendMenu, DefWindowProc, GetSystemMenu, InsertMenu, ModifyMenu, WM_COMMAND