정보: 콘솔 창 없어지는 것을 방지

기술 자료 번역 기술 자료 번역
기술 자료: 99115 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

파일 관리자, 프로그램 관리자, Windows NT 탐색기 에서 또는 시작 <progname>입력하여 콘솔 응용 프로그램을 시작할 때 명령 프롬프트에서 자체 콘솔에서 실행합니다. 이 콘솔 응용 프로그램을 종료하고 따라서 사용자가 아무 것도 마지막 일시 중지 및 종료 프로그램 간에 화면 쓸 읽을 수 없음 즉시 사라집니다. 콘솔 창에서 없어지는 유지하려면 다음 두 가지가 있습니다.

추가 정보

방법 1: 프로세스 분리 콘솔에서 실행하는 경우 일시 중지

첫 번째 방법은 즉시 별도의 콘솔 창에서 실행 중일 때 종료할 콘솔 응용 프로그램을 구현하기 위한 것입니다. 가능성이 항상 해당 프롬프트에서 시작할 때 콘솔 창에 정보를 표시한 후에 일시 응용 프로그램을 사용할 때와 아닙니다. 그러나 직접 응용 프로그램을 사용하여 CMD.EXE에 콘솔을 공유하는 여부를 결정하는 없는 API (응용 프로그래밍 인터페이스) 입니다. 이 메서드는 콘솔 커서의 현재 위치에서 찾고 (0,0) 경우, 다음 프로그램을 별도의 콘솔 창에서 실행되는 가정합니다.

예제 코드

   #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();
      }
   }
				
참고: 이 방법은 사용자가 일반 화면 (CLS) 결합하여 한 단계 (예를 들어, [C:\] CLS & <progname>) 에 응용 프로그램의 실행을 커서를 때문에 됩니다 작동하지 것입니다 수 (0, 0) 로 CMD.EXE에 속한 콘솔 응용 프로그램이 사용할 수 있지만.

방법 2: 함께 cmd.exe 콘솔 시작/K

이 메서드는 별도의 창에서 콘솔 응용 프로그램 시작 및 응용 프로그램이 종료된 후에도 남아 있을 수 있는 창을 시작하지 않습니다. 응용 프로그램 WinExec(), CreateProcess(), 또는 배치 파일에서 다음 명령줄을 사용할 수 있습니다.
cmd/K consoleapp.exe
/K 스위치와 consoleapp.exe 종료된 후 콘솔 창이 화면에 남아 있습니다. 다음 응용 프로그램 사용자가 콘솔 창을 닫으려면 끝내기 명령을 입력할 수 있습니다.

속성

기술 자료: 99115 - 마지막 검토: 2006년 11월 21일 화요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Win32 Application Programming Interface?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT Advanced Server 3.1
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 서비스 팩 5
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
키워드:?
kbmt kbconsole kbinfo kbkernbase kbprogramming KB99115 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com