Как сделать чтобы окно dos не закрывалось

Добавил пользователь Валентин П.
Обновлено: 17.09.2024

На ноуте с Win7 видимо после установки какой то программы стало периодически на долю секунды всплывать и закрываться DOS окошко.
Не успеваю прочитать.
Касперский не ругается.
Как найти КТО выбрасывает окошко?
Может где сделать аудит?
Смотрел в евенте, ничего подозрительного не нашел.

floset

Laz, в автозагрузке ни какой батник не болтается? все же по вырубай все лишнее в автозагрузке посмотри будет ли продолжаться такая история.

windows + r > msconfig

нет
полез туда сразу
вроде нашел подозрительного
процес conhost.exe Console Window Host
находится в System32 дата файла 24.06.2011
странно. ту программу, на которую я грешил устанвливал пару дней назад.
Вроде раньше окна не было.
Прога нужна и удалять для проверки не хочется.
Процесс убил. Вроде сам не возродил снова.

Блин. щас опять окно всплыло.

На процесс вышел через Контроль программ в отчете Касперского.

Именно в это время там записи.
Но смысл записей дурной.

22.09.2011 0:21:34 Console Window Host Контроль программ Разрешено: Установка хуков Установка перехватчиков C:\Windows\System32\msctf.dll Установка хуков

Насчет этих установки хуков на форуме Касперского давно писали. Дребедень какая то.

Постоянно появляется окно консоли DOS в Windows 7 х64

В системе Win 7 x64 после загрузки периодически появляется и сразу закрывается окно консоли DOS. Антивирусы угроз не выявляют. Никакой деструктивной деятельности не происходит за исключением того, что изредка появляется в Opera окно "Ваш броузер устарел". Логи прилагаются. Прошу дать совет что с этим делать. Спасибо.

Anti-Malware Telegram

Уважаемый(ая) Serjio7, спасибо за обращение на наш форум!

Удаление вирусов - абсолютно бесплатная услуга на VirusInfo.Info. Хелперы, в самое ближайшее время, ответят на Ваш запрос. Для оказания помощи необходимо предоставить логи сканирования утилитами АВЗ и HiJackThis, подробнее можно прочитать в правилах оформления запроса о помощи.

Если наш сайт окажется полезен Вам и у Вас будет такая возможность - пожалуйста поддержите проект.

Моя проблема в том, что в Windows есть окна командной строки, которые закрываются сразу после выполнения. Чтобы решить эту проблему, я хочу, чтобы по умолчанию было открыто окно. Обычно такого поведения можно избежать тремя способами, которые приходят мне в голову:

  1. Установка строки pause после пакетных программ, чтобы пользователь мог нажать клавишу перед выходом
  2. Запуск этих пакетных файлов или других инструментов управления командной строкой (даже запуск службы, перезапуск и т.д. С net start xy или чем-то подобным) в cmd.exe (Пуск - Выполнить - cmd.exe)
  3. Запуск этих программ с помощью cmd /k например: cmd /k myprogram.bat

Но есть и другие случаи, когда пользователь:

Я прочитал статью об изменении поведения cmd.exe умолчанию при его явном открытии с созданием записи автозапуска и манипулированием ее содержимым в следующих местах:

(Элементы _String values_ )

Я поставил cmd /d /k в качестве значения, чтобы попробовать, но это никак не изменило поведение вышеупомянутых вещей . Он просто изменил поведение окна командной строки при его явном открытии (Start-Run-cmd.exe).

Итак, как это работает? Можете ли вы дать мне какие-либо идеи для решения этой проблемы?

У меня есть решение, которое может применяться только к файлам .cmd и .bat :

Откройте regedit и перейдите к каждому из:

Теперь измените "Значение ключа по умолчанию" на cmd.exe /k "%1" %* . Теперь каждое окно пакетного скрипта останется открытым после его выполнения.

Обратите внимание, что это похоже на использование cmd.exe /c cmd.exe /k program.bat , что означает, что другой экземпляр CMD будет запущен в родительский. Я не мог найти, как перезаписать первый аргумент /c .

Вы также можете сделать это с [exefile] , но теперь он покажет пустое поле консоли, если исполняемый файл имеет графический интерфейс.

Консоль закрывается, когда последний присоединенный к ней процесс завершается или вызывает FreeConsole.

Другими словами, консольное окно Win32 всегда будет закрыто при выходе из последней программы, работающей внутри него, и вы не можете это изменить.

(Для 16-разрядных программ MS-DOS в диалоговом окне свойств Windows предлагается параметр "Закрыть при выходе", но это не исключение из описанного выше поведения: это процесс NTVDM, который удерживает окно открытым. Кроме того, эта опция снова для каждой программы.)

Просто откройте командную строку в месте вашего командного файла и вручную введите имя своего командного файла, чтобы запустить его в этом окне.

1.Перейдите в папку, где находится ваш исполняемый файл
2.Shift-правый клик и выберите "Окно команд из здесь"
3.Введите имя исполняемого файла и нажмите Enter
4.Процесс должен запускаться, но окно должно оставаться открытым

cmd.exe /k доставит вам неприятности с какой-то партией. Если пакетный exit 1 (без /B ), ваша консоль будет закрыта. Хитрость заключается в использовании:

Чтобы использовать это по умолчанию для всех пакетных файлов, установите для HKEY_CLASSES_ROOT\cmdfile\shell\open\command\(default) и HKEY_CLASSES_ROOT\batfile\shell\open\command\(default) значение "%windir%\system32\cmd.exe" /k "%windir%\system32\cmd" /c "%1" %* .

Я просто grawity решение после прочтения ответа Гравити .

Моим примером использования была настройка консольной среды на работе, где все более разумные решения блокируются. Все, что мне нужно, это установить PATH, настроить псевдонимы doskey и сбросить их в оболочку.

Мое решение (только что протестировано на Win7), так как добавить cmd в качестве последней строки в командном файле. Это запускает вложенную командную строку, которая наследует среду своего родителя. Эта дочерняя оболочка удерживает пакетный процесс открытым до тех пор, пока вы не ВЫХОДИТЕ, и в этот момент пакет не имеет дочерних процессов и также завершает работу.

Вместо того, чтобы использовать PAUSE (я предпочитаю, чтобы CHOICE или TIMEOUT использовали PAUSE при необходимости), вы можете использовать решение здесь: 886848/how-to-make-windows-batch-file-pause-when-double-click.

Используя CHOICE, вы можете запрограммировать возможность выбора пользователем различных действий, а использование TIMEOUT может позволить окну закрыться через некоторое время (без присмотра). Если вы запускаете командный файл из окна командной строки, эти паузы могут раздражать.

Связанное решение позволит вам решить, хотите ли вы пропустить паузы, если пакетный файл был запущен из окна командной строки.

Вы можете прочитать больше по предоставленной ссылке, но ее основа в том, что она использует переменную окружения:

определить, был ли командный файл запущен из командного окна или нет.

Итак, вы используете это так:

В тот момент, когда пакетный файл будет завершен, вы добавите некоторый код, подобный следующему:

Читайте также: