Você está offline; aguardando reconexão

Não há suporte para seu navegador

Você precisa atualizar seu navegador para usar o site.

Atualize para a versão mais recente do Internet Explorer

INFO: Evitando a janela do console de Desaparecidas

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 99115
Sumário
Quando um aplicativo de console é iniciado a partir do Gerenciador de arquivos, o Gerenciador de programas, Windows NT Explorer, ou digitando início <progname> no prompt de comando, ele é executado no seu próprio console. Esse console desaparecerá assim que o aplicativo termina e, portanto, o usuário não pode ler nada gravados na tela entre o última pausa e sair do programa. Há duas abordagens para impedir que a janela do console desaparecendo.
Mais Informações

Método 1: Interromper se o processo está executando no console separado

O primeiro método é para implementar um aplicativo de console para não terminar imediatamente quando ele está sendo executado em uma janela de console separado. Não é provável que seria quiser que um aplicativo faça uma pausa sempre após exibir informações na janela do console quando iniciado a partir do prompt. No entanto, não há nenhuma API (application programming interface) que diretamente determina se ou não o aplicativo compartilha um console com cmd.exe. Esse método examina o local atual do cursor do console, e se é (0,0), em seguida, assumirá o programa que ele está sendo executado em uma janela de console separado.

Código de exemplo

   #include <windows.h>   #include <stdio.h>   #include <conio.h>   CONSOLE_SCREEN_BUFFER_INFO csbi;   HANDLE hStdOutput;   BOOL bUsePause;   void main(void)   {      hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);      if (!GetConsoleScreenBufferInfo(hStdOutput, &csbi))      {         printf("GetConsoleScreenBufferInfo failed: %d\n", GetLastError());         return;      }      // if cursor position is (0,0) then use pause      bUsePause = ((!csbi.dwCursorPosition.X) &&                   (!csbi.dwCursorPosition.Y));      printf("Interesting information to read.\n");      printf("More interesting information to read.\n");      // only pause if running in separate console window.      if (bUsePause)      {         int ch;         printf("\n\tPress any key to exit...\n");         ch = getch();      }   }				
Observação: Este método não funcionará se o usuário combina uma tela criptografada (CLS) e execução do aplicativo em uma etapa (por exemplo, [C:\] CLS & <progname>), como posicionar o cursor será ser (0, 0), mas o aplicativo está usando o console, que pertence a cmd.exe.

Método 2: Inicia o console com cmd.exe /K

Esse método é para iniciar um aplicativo de console em uma janela separada e forçar a janela para permanecer depois que o aplicativo foi finalizado. Um aplicativo pode usar a seguinte linha de comando com WinExec(), CreateProcess(), ou em um arquivo em lotes:
CMD /K consoleapp.exe
Após consoleapp.exe foi finalizado, a opção /K faz a janela do console ainda permaneça na tela. O usuário de aplicativo, em seguida, pode digitar o comando exit para fechar a janela do console.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 99115 - Última Revisão: 11/21/2006 15:46:16 - Revisão: 4.1

  • Interface de Programação de Aplicativos do Microsoft Win32
  • kbmt kbconsole kbinfo kbkernbase kbprogramming KB99115 KbMtpt
Comentários
s://c1.microsoft.com/c.gif?DI=4050&did=1&t=">TagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >ipt> c="https://c.microsoft.com/ms.js">