В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Браузер не поддерживается

Чтобы использовать веб-сайт, обновите браузер.

Обновите браузер до последней версии Internet Explorer

ИНФОРМАЦИЯ: Предотвращение окно консоли из исчезновение

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:99115
Аннотация
При запуске консольного приложения из диспетчера файлов, руководитель программы Проводник Windows NT или введяSTART ::<progname></progname>в командной строке он выполняет собственной консоли. Эта консоль исчезнет сразу же завершает работу приложения, и поэтому пользователю не удается прочитать все записи на экран последнее Пауза и выход из программы.Существует два подхода для предотвращения исчезновение окна консоли.
Дополнительная информация

Метод 1: Пауза, если процесс — это выполняется в отдельной консоли

Первый метод используется для реализации консольное приложение не завершить немедленно при работе в окне консоли отдельно. Не является, вероятно, стоит приложения всегда сделайте паузу после отображения сведений в окне консоли, при запуске в командной строке.Тем не менее не существует API (прикладной программный интерфейс), который напрямую определяет, использует ли приложение консоли с CMD.EXE.Метод ищет в текущем положении курсора консоли, и если он является (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.</progname>

Способ 2: Запуск консоли с cmd.exe /K

Этот метод используется для запуска консольного приложения в отдельном окне и принудительное окна должны оставаться после завершение приложения. Приложение может использовать следующую командную строку с WinExec() CreateProcess(), или в пакетном файле:
CMD /K consoleapp.exe
После завершение consoleapp.exe параметром /K делает окно консоли, которые остаются на экране. Затем можно ввести пользователя приложенияExitкоманда для закрытия окна консоли.

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 99115 — последний просмотр: 11/08/2010 19:54:00 — редакция: 2.0

  • Microsoft Win32 Application Programming Interface
  • kbconsole kbinfo kbkernbase kbprogramming kbmt KB99115 KbMtru
Отзывы и предложения