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);
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.
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). |
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.
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
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.
Visão geral sobre Windows, funções de janela, CreateMutex, DispatchMessage, GetCommandLine, GetMessage, PostQuitMessage TranslateMessage