Uma janela recebe esta mensagem quando o usuário escolhe um comando do menu janela (anteriormente conhecido como sistema menu ou controle) ou quando o usuário escolhe o botão maximizar, minimizar botão, botão restaurar ou fechar botão.
WM_SYSCOMMAND uCmdType = wParam; / / tipo de sistema de comando requisitado xPos = LOWORD(lParam); / / posição horizontal, em tela coordenadas yPos = HIWORD(lParam); / / coordenadas de posição vertical, em tela
| Valor | Significado |
|---|---|
| SC_CLOSE | Fecha a janela. |
| SC_CONTEXTHELP | O cursor é alterado para um ponto de interrogação com um ponteiro. Se o usuário clica em um controle na caixa de diálogo, o Controlarar recebe uma mensagem WM_HELP. |
| SC_DEFAULT | Seleciona o item padrão; o usuário clicou duas vezes no menu janela. |
| SC_HOTKEY | Ativa a janela associada com o tecla de acesso especificado do aplicativo. A baixa-palavra de ordem lParam identifica a janela para ativar. |
| SC_HSCROLL | Rola horizontalmente. |
| SC_KEYMENU | Recupera o menu janela como resultado de uma combinação de teclas. |
| SC_MAXIMIZE | Maximiza a janela. |
| SC_MINIMIZE | Minimiza a janela. |
| SC_MONITORPOWERnbsp; & nbsp; | Define o estado da exibir. Este comando oferece suporte a dispositivos que possuem recursos de economia de energia, como um computador pessoal battery-powered. lParam pode ter os seguintes valores: 1 significa que o visor está indo para baixo consumo de energia. 2 significa que a exibição está sendo desligada. |
| SC_MOUSEMENU | Recupera o menu janela como resultado de um clique do mouse. |
| SC_MOVE | Move a janela. |
| SC_NEXTWINDOW | Move para a próxima janela. |
| SC_PREVWINDOW | Move para a janela anterior. |
| SC_RESTORE | Restaura a janela ao seu tamanho e posição normal. |
| SC_SCREENSAVE | Executa o aplicativo de proteção de tela especificado na seção [boot] do sistema.Arquivo INI. |
| SC_SIZE | Dimensiona a janela. |
| SC_TASKLIST | Ativa o menu Iniciar. |
| SC_VSCROLL | Rola verticalmente. |
Um aplicativo deve retornar zero se ele processa esta mensagem.
O DefWindowProc função executa a solicitação de menu de janela para as ações predefinidas especificadas na tabela anterior.
No WM_SYSCOMMAND mensagens, os quatro bits de ordem inferior do parâmetro uCmdType são usados internamente pelo sistema. Para obter o resultado correto ao testar o valor de uCmdType, um aplicativo deve combinar o valor 0xFFF0 com o valor de uCmdType , usando o operador AND bit a bit.
Os itens de menu em um menu de janela podem ser modificados usando o GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuIteme DefinirItemDoMenu funções. Aplicativos que modificar o menu de janela devem Processoar mensagens WM_SYSCOMMAND.
Um aplicativo pode executar qualquer comando do sistema a qualquer momento, passando uma mensagem WM_SYSCOMMAND para DefWindowProc. Quaisquer mensagens WM_SYSCOMMAND não tratadas pelo aplicativo devem ser passadas para DefWindowProc. Quaisquer valores de comando adicionados por um aplicativo devem ser processadas pelo aplicativo e não podem ser passados para DefWindowProc.
Teclas de aceleração que são definidas para escolher itens do menu janela são convertidas em mensagens WM_SYSCOMMAND; todos os pressionamentos de tecla outros acelerador são traduzidos em WM_COMMAND mensagens.
nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Visão geral de aceleradores de teclado, mensagens de Accelerator do teclado, Visão geral do gerenciamento de energia, AppendMenu, DefWindowProc, GetSystemMenu, InsertMenu, ModifyMenu, WM_COMMAND