WinMain

WinMain função é chamada pelo sistema como ponto de entrada inicial para um aplicativo baseado em Win32.

int WINAPI WinMain ( HINSTANCE  hInstance, / / identificador para a instância atualHINSTANCEhPrevInstance, / / identificador para a instância anteriorLPSTRlpCmdLine, / / ponteiro para linha de comandointnCmdShow / / Mostrar estado de janela);
 

Parâmetros

hInstance
Identificador para a instância atual do aplicativo.
hPrevInstance
Identificador para a instância anterior do aplicativo. Para um aplicativo baseado em Win32, este parâmetro é sempre NULL.

Se você precisar detectar se já existe uma outra instância, criar um mutex nomeado exclusivamente usando o CreateMutex função. CreateMutex funcionará mesmo se o mutex já existe, mas o função GetLastError retorna ERROR_ALREADY_EXISTS. Isto indica que existe outra instância do seu aplicativo, porque ela criou o mutex primeiro.

lpCmdLine
Ponteiro para uma seqüência de caracteres null-terminated especificando a linha de comando para o aplicativo, excluindo o nome do programa. Para recuperar toda a linha de comando, use o GetCommandLine função.
nCmdShow
Especifica como a janela deve ser mostrado. Este parâmetro pode ser uma dos seguinte valores:
Valor Significado
SW_HIDE Oculta a janela e ativa 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 está minimizada ou maximizada, o sistema restaura-la para seu tamanho original e a posição (mesmo que SW_SHOWNORMAL).
SW_SHOW Ativa uma janela e exibe-o em seu tamanho atual e a posição.
SW_SHOWMAXIMIZED Ativa uma janela e exibe-lo como uma janela maximizada.
SW_SHOWMINIMIZED Ativa uma janela e exibe-lo 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 em seu tamanho e posição mais recentes. A janela ativa permanece ativa.
SW_SHOWNORMAL Ativa e exibe uma janela. Se a janela está minimizada ou maximizada, o sistema restaura-la para seu tamanho original e a posição (mesmo que SW_RESTORE).

Retornar valores

Se a função for bem-sucedido, que encerra quando ele recebe uma mensagem WM_QUIT, ela deve retornar o valor de saída contido na wParam parâmetro da mensagem. Se a função termina antes de inserir o loop de mensagem, ela deve retornar zero.

Observações

Seu WinMain deve inicializar o aplicativo, exibir sua janela principal e insira um loop de recuperação e expedição de mensagem que é a estrutura de controle de nível superior para o restante da execução do aplicativo. Finalizar o loop de mensagem quando ele recebe uma mensagem WM_QUIT. Neste ponto, seu WinMain deve sair do aplicativo, retornando o valor passado no parâmetro de wParam da mensagem WM_QUIT. Se WM_QUIT foi recebido como resultado de chamar PostQuitMessage, o valor de wParam é o valor nExitCode parâmetro da função PostQuitMessage . Para obter mais informações, consulte Criando um Loop de mensagem.

Aplicativos ANSI podem usar o parâmetro lpCmdLine de WinMain função para acessar a Cadeia de caracteres de linha de comando, excluindo o nome do programa. A razão que WinMain não pode retornar seqüências de caracteres Unicode é que esse lpCmdLine usa o tipo de dados LPSTR , não a LPTSTR tipo de dados. A GetCommandLine função pode ser usada para acessar seqüências de caracteres Unicode na linha de comando, porque ele usa o tipo de dados LPTSTR.

Windows CE: Windows CE não oferece suporte os seguintes valores para o nCmdShow parâmetro

SW_MINIMIZE

SW_RESTORE

SW_SHOWMAXIMIZED

SW_SHOWMINIMIZED

SW_SHOWMINNOACTIVE

QuickInfo

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 WinBase. h.
Biblioteca de importação:Definido pelo usuário.

Ver também

Visão geral sobre Windows, funções de janela, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage TranslateMessage