C++ para Win32

WinMain

O sistema chama a função WinMain como o ponto de entrada inicial em um aplicativo baseado em Win32.

int WINAPI WinMain (
HINSTANCE hInstance, // Manipulador para instância atual
HINSTANCE hPrevInstance, // Manipulador para instância anterior
LPSTR lpCmdLine, // Ponteiro para a linha de comando
int nCmdShow // Mostra o estado da janela
);

Parâmetros

hInstance
Identifica a instância atual do aplicativo.
hPrevInstance
Identifica a instância anterior do aplicativo. Para um aplicativo baseado em Win32, este parâmetro é sempre NULL. Se você precisa para detectar se já existe outra instância, criar um mutex nomeado usando a função CreateMutex. Se os retornos GetLastError ERROR_ALREADY_EXISTS função, outra instância do seu aplicativo existe (que criou o mutex).
lpCmdLine
Aponta para uma string terminada em null especificando a linha de comando para a aplicação.
nCmdShow
Especifica como a janela deve ser mostrado. Este parâmetro pode ser um dos seguintes valores:
Valor Significado
SW_HIDE Oculta a janela e ativa uma outra janela.
SW_MINIMIZE Minimiza a janela especificada e ativa a janela de nível superior na lista do sistema.
SW_RESTORE Ativa e exibe uma janela. Se a janela estiver minimizada ou maximizada, o Windows restaura-lo ao seu tamanho e posição original (o mesmo que SW_SHOWNORMAL).
SW_SHOW Ativa uma janela e exibe em seu tamanho atual e posição.
SW_SHOWMAXIMIZED Ativa uma janela e exibe-lo como uma janela maximizada.
SW_SHOWMINIMIZED Ativa uma janela e apresenta-o como um ícone.
SW_SHOWMINNOACTIVE Exibe uma janela como um ícone. A janela ativa permanece ativa.
SW_SHOWNA Exibe uma janela em seu estado atual. A janela ativa permanece ativa.
SW_SHOWNOACTIVATE Exibe uma janela no seu tamanho e posição mais recentes. A janela ativa permanece ativa.
SW_SHOWNORMAL Ativa e exibe uma janela. Se a janela estiver minimizada ou maximizada, o Windows restaura-lo ao seu tamanho e posição original(o mesmo que SW_RESTORE).

Valores de retorno

Se a função tiver êxito, terminando quando ele recebe uma mensagem WM_QUIT, ele deve retornar o valor de saída contidos no parâmetro que mensagem wParam. Se a função termina antes de entrar no loop de mensagem, ele deve retornar 0.

Observações

WinMain inicializa uma aplicação, exibe sua janela principal, e, em seguida, entra uma mensagem de recuperação de e-expedição loop que é a estrutura de controle de alto nível para o restante da execução do aplicativo. O loop de mensagem termina quando uma mensagem é recebida WM_QUIT. Nesse ponto, WinMain sai do aplicativo, retornando o valor passado no parâmetro é a mensagem WM_QUIT wParam. Se WM_QUIT foi recebido como um resultado da chamada PostQuitMessage, o valor de wParam é o valor do parâmetro a função PostQuitMessage de nExitCode. Para mais informações, consulte Criando um loop de mensagem.

Veja também

CreateMutex, DispatchMessage, GetMessage, PostQuitMessage, TranslateMessage