Окно программы сразу закрывается

В этом руководстве мы покажем вам различные способы решения проблемы с всплывающей командной строкой, а затем случайным закрытием в Windows 11, и все это в течение нескольких секунд. Проблемы с периферийными устройствами, такими как мышь и клавиатура, не работают должным образом, или проблемы с такими компонентами ОС, как панель задач и меню «Пуск», постоянно падают, хорошо задокументированы в Интернете. Однако недавно в последней версии ОС начали возникать странные проблемы.

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

Как исправить всплывающее окно командной строки и закрытие в Windows 11

исправить всплывающее окно командной строки и случайное закрытие в Windows 11

Как понять почему закрывается приложение или глючит Windows

Проведя тщательное исследование этой проблемы, мы обнаружили, что отсутствующий путь к переменной пути к системной среде, поврежденные планировщики фоновых задач, вредоносные сторонние программы или поврежденные образы Windows являются одними из наиболее распространенных причин. Итак, в этом руководстве мы рассмотрим все эти вероятные причины, которые, в свою очередь, также приведут к устранению проблемы CMD. Следуйте вместе.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

ИСПРАВЛЕНИЕ 1. Используйте команду DISM

DISM или Deployment Image Servicing and Management — это инструмент командной строки, который проверяет систему на наличие всех поврежденных файлов Windows mages, а затем заменяет их их рабочим аналогом. Итак, давайте сразу протестируем этот инструмент:

  1. Перейдите в меню «Пуск», найдите CMD и запустите командную строку от имени администратора.
  2. Затем выполните следующие три команды по одной в окне CMD: DISM.exe /Online /Cleanup-image /Scanhealth DISM.exe /Online /Cleanup-image /Restorehealth DISM.exe /online /cleanup-image /startcomponentcleanup

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

ИСПРАВЛЕНИЕ 2. Добавьте отсутствующие переменные среды

Если в переменной среды отсутствует PATH (например, C:WindowsSysWow64), то CMD продолжит поиск по этому пути, но тщетно. В результате это может оказаться в бутлупе. Единственный выход — добавить этот отсутствующий путь, чтобы командная строка смогла прочитать его один раз, а затем навсегда остановила фоновое сканирование. Вот как это можно сделать:

Не открываются, не работают, вылетают, закрываются Параметры Windows 10 — 4 способа решения!

  1. Для начала используйте сочетания клавиш Windows + R, чтобы открыть диалоговое окно «Выполнить».
  2. Затем введите ключевое слово ниже и нажмите Enter. Он должен открыть меню свойств системы.sysdm.cpl
  3. Теперь перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  4. Выберите «Путь» в разделе «Системные переменные» и нажмите кнопку «Изменить».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  5. Теперь нажмите на кнопку «Создать».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  6. После этого добавьте указанное ниже значение и нажмите OK, чтобы сохранить его. C:WindowsSysWow64 Командная строка всплывает и закрывается случайным образом в Windows 11
  7. Наконец, перезагрузите компьютер, а затем проверьте, исправляет ли он всплывающее окно командной строки и случайным образом закрывается в Windows 11.

ИСПРАВЛЕНИЕ 3. Сканирование с помощью Защитника Windows

Вполне может быть, что вредоносное приложение или программа (или даже ключ автозапуска) может использовать окно CMD для запуска своего сценария в бэкэнде. Единственный способ проверить это и, что более важно, предотвратить это — просканировать компьютер с помощью антивирусного программного обеспечения.

Читайте также:
Что нужно для участия в программе голос

Хотя вы можете выбрать любой из своих вариантов, но обязательно выполните тщательное сканирование, которое, по крайней мере, инкапсулирует весь диск C. Что касается этого руководства, мы продолжим работу со встроенным приложением Mircosoft. Следуйте вместе.

  1. Откройте приложение Защита от вирусов и угроз через меню «Пуск».
  2. Затем нажмите «Параметры сканирования» в разделе «Текущие угрозы».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  3. После этого выберите «Полное сканирование» и нажмите «Сканировать сейчас».
    Командная строка всплывает и закрывается случайным образом в Windows 11

Процесс сканирования займет некоторое время. Когда-то сделали. проверьте, удалось ли решить проблему с появлением и случайным закрытием командной строки на вашем ПК с Windows 11.

ИСПРАВЛЕНИЕ 4. Отключение фонового расписания приложения

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

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

Командная строка всплывает и закрывается случайным образом в Windows 11

  1. Для начала используйте сочетания клавиш Windows + R, чтобы открыть диалоговое окно «Выполнить».
  2. Затем введите приведенную ниже команду и нажмите Enter, чтобы запустить Task Schedulertaskschd.msc.
  3. Теперь разверните «Локальный планировщик заданий» и выберите «Библиотека планировщика заданий».
  4. Посмотрите на правую сторону и проверьте список всех приложений.
  5. Если вы обнаружите какое-либо приложение, которое должно запускаться несколько раз в день, но, вероятно, не должно этого делать, щелкните правой кнопкой мыши это приложение и выберите «Отключить». Сделайте это для всех приложений, принадлежащих к одному домену.
  6. Более того, если вы используете Microsoft Office Suite, вам также следует подумать об отключении одной из его служб. Для этого выберите следующее место в левой строке меню: Планировщик заданий (локальный) > Библиотека планировщика заданий > Microsoft > Office
  7. Как только вы доберетесь до папки Office, перейдите к правой стороне и выберите OfficeBackgroundTaskHandlerRegistration.
  8. Затем щелкните его правой кнопкой мыши и выберите «Отключить». После этого перезагрузите компьютер, а затем проверьте, было ли исправлено появление и случайное закрытие командной строки в Windows 11.

ИСПРАВЛЕНИЕ 5: Удалить значение реестра SoundMixer

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

Чтобы исправить это, вам просто нужно удалить запись SoundMixer, но это может оказаться легче сказать, чем сделать. Это связано с тем, что нет фиксированного места, где он может находиться, вам придется сначала найти его, а затем удалить. Вот как:

  1. Перейдите в меню «Пуск» и запустите редактор реестра.
  2. Затем нажмите «Изменить» в верхней строке меню и выберите «Найти».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  3. Теперь введите SOUNDMIXER в отведенное место и отметьте все три параметра: ключи, значения и данные.
    Командная строка всплывает и закрывается случайным образом в Windows 11
  4. После этого снимите флажок «Соответствовать только всей строке» и нажмите кнопку «Найти далее». Дождитесь завершения сканирования.
  5. Если он может найти ключ SOUNDMIXER или файл DWord, выберите его и обратитесь к правому меню.
  6. Теперь вы должны увидеть файл автозапуска, связанный с SOUNDMIXER, щелкните его правой кнопкой мыши и нажмите «Удалить».
    Командная строка всплывает и закрывается случайным образом в Windows 11
  7. Затем снова продолжите поиск и удалите все оставшиеся записи SOUNDMIXER.
  8. После этого перезагрузите компьютер, и теперь проблема с CMD должна быть устранена.

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

Читайте также:
Не работают программы для записи видео

Источник: vgev.ru

При отрисовке текста из класса окно программы сразу закрывается

В этой теме 1 ответ, 1 участник, последнее обновление barbar 7 года/лет, 8 мес. назад.

Просмотр 2 сообщений — с 1 по 2 (из 2 всего)
07.11.2015 в 18:50 #2060
Репутация:16
void loadFont ( ) ;
class Button <
bool pressed ;
int weight , height , posx , posy ;
std :: ostringstream label ;
sf :: Text text ;
sf :: RectangleShape button ;
void newButton ( int wh , int hh , int px , int py )
weight = wh ; height = hh ; posx = px ; posy = py ;
button . setSize ( sf :: Vector2f ( weight , height ) ) ;
button . setPosition ( posx , posy ) ;
button . setFillColor ( sf :: Color ( 200 , 200 , 200 ) ) ;
bool isCursor ( float corx , float cory )
if ( ( corx > posx ) ( corx < weight + posx ) ( cory >posy ) ( cory < height + posy ) ) <
button . setFillColor ( sf :: Color ( 100 , 100 , 100 ) ) ;
return true ; >
else < button . setFillColor ( sf :: Color ( 200 , 200 , 200 ) ) ;
return false ;
void setLabel ( std :: string lb , std :: string fnt )
sf :: Font font ;
font . loadFromFile ( fnt ) ;
text . setString ( label . str ( ) ) ;
text . setFont ( font ) ;
text . setCharacterSize ( 24 ) ;
text . setColor ( sf :: Color :: Black ) ;
text . setPosition ( posx , posy ) ;
sf :: RenderWindow app ( sf :: VideoMode ( 800 , 600 ) , «SFML window» ) ;
Button testButton ;
testButton . newButton ( 80 , 30 , 700 , 550 ) ;
testButton . setLabel ( «exit» , «CyrilicOld.TTF» ) ;
while ( app . isOpen ( ) )
sf :: Event event ;
while ( app . pollEvent ( event ) )
if ( event . type == sf :: Event :: Closed )
app . close ( ) ;
sf :: Vector2i pixelPos = sf :: Mouse :: getPosition ( app ) ;
sf :: Vector2f pos = app . mapPixelToCoords ( pixelPos ) ;

if ( ( testButton . isCursor ( pos . x , pos . y ) ) ( sf :: Mouse :: isButtonPressed ( sf :: Mouse :: Left ) ) )

app . clear ( sf :: Color ( 255 , 255 , 255 ) ) ;
app . draw ( testButton . button ) ;
app . draw ( testButton . text ) ;
app . display ( ) ;
return EXIT_SUCCESS ;
выхлоп терминала segmentation fault
07.11.2015 в 20:20 #2069
Репутация:16

Я решил проблему, вдруг надо кому нибудь, опишу как решил: создавать объект класса Font надо было в самом теле класса, а не функции как в примере выше.

Просмотр 2 сообщений — с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.

Источник: kychka-pc.ru

Почему окно консоли закрывается сразу же после отображения моего вывода?

теперь я просто попробовал Пример 1 (здесь это ссылка MSDN), и я столкнулся с проблемой: почему окно консоли закрывается сразу после отображения моего вывода?

using System; public class Hello1 < public static int Main() < Console.WriteLine(«Hello, World!»); return 0; >>
автор: Davide Cannizzo

18 ответов

проблема здесь в том, что их программа Hello World появляется, тогда она сразу же закроется.
почему так?

потому что это закончилось. когда консольные приложения завершат выполнение и вернутся из своих main метод, связанное окно консоли автоматически закрывается. Это ожидаемое поведение.

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

на Console.ReadLine метод это один из способов сделать это. Добавление этой строки в конец кода (непосредственно перед return заявление) заставит приложение ждать, пока вы нажмете клавишу перед выходом.

кроме того, вы можете запустить приложение без прикрепленного отладчика, нажав Ctrl + Ф5 из среды Visual Studio, но это имеет очевидный недостаток предотвращения использования функций отладки, которые вы, вероятно, хотите иметь в своем распоряжении при написании приложения.

лучшим компромиссом, вероятно, является вызов Console.ReadLine метод только при отладке приложения путем его упаковки в директиву препроцессора. Что-то вроде:

#if DEBUG Console.WriteLine(«Press enter to close. «); Console.ReadLine(); #endif

вы также можете захотеть, чтобы окно оставалось открытым, если возникло необработанное исключение. Для этого вы можете поставить Console.ReadLine(); на finally блок:

#if DEBUG try < //. >finally < Console.WriteLine(«Press enter to close. «); Console.ReadLine(); >#endif
автор: Cody Gray
Console.Readline() Console.Read() Console.ReadKey()

Читайте также:
Топ бесплатных программ для очистки ПК

вы можете запустить программу с помощью Ctrl + Ф5 (если вы находитесь в Visual Studio). Затем Visual Studio будет держать окно консоли открытым, пока вы не нажмете клавишу.

Примечание: Вы не можете отлаживать свой код в этот подход.

автор: Bhavik Patel

это ведет себя одинаково для Ctrl Ф5 или Ф5 . Место непосредственно перед концом Main метод.

using System.Diagnostics; private static void Main(string[] args) < DoWork(); if (Debugger.IsAttached) < Console.WriteLine(«Press any key to continue . . .»); Console.ReadLine(); >>
автор: user3484993

программа немедленно закрывается, потому что ничто не мешает ей закрываться. Вставить точку останова в return 0; или добавить Console.Read(); до return 0; для предотвращения закрытия программы.

автор: Robert Rouhani

Я предполагаю, что причина, по которой вы не хотите закрывать его в режиме отладки, заключается в том, что вы хотите посмотреть значения переменных и т. д. Поэтому, вероятно, лучше всего просто вставить точку останова при закрытии»> » основной функции. Если вам не нужно отлаживать, то Ctrl-F5-лучший вариант.

автор: Rob L

кроме того, вы можете отложить закрытие, используя следующий код:

System.Threading.Thread.Sleep(1000);

Примечание Sleep использует миллисекунд.

автор: gotqn

другой способ-использовать Debugger.Break() перед возвращением из Main method

автор: dimaaan

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

Console.ReadLine();
Console.Read();

Консоль Использовать.Read (); чтобы предотвратить закрытие программы, но убедитесь, что вы добавили Console.Read(); код перед оператором return, иначе это будет недостижимый код .

Console.Read(); return 0;
автор: Ravi Gadag

Добавить Read метод для отображения выходных данных.

Console.WriteLine(«Hello, World!»); Console.Read(); return 0;
автор: John Woo

программа закрывается, как только операция будет завершена. В этом случае, когда вы return 0; . Это ожидаемая функциональность. Если вы хотите увидеть вывод, запустите его в терминале вручную или установите ожидание в конце программы, чтобы она оставалась открытой в течение нескольких секунд ( используя библиотеку потоков ).

автор: zellio

если вы хотите сохранить приложение открытым, вы не можете ничего не делать, что поддерживает процесс, поэтому посмотрите на код ниже:

while (true);

это самый простой способ достичь ожидаемого поведения, но он протекает CPU, который так вынужден итерации бесконечно.

на данный момент Вы можете выбрать, чтобы использовать System.Windows.Forms.Application (но для этого требуется добавить System.Windows.Forms ссылка):

Application.Run();

это не утечка процессора и работает успешно.

не добавлять System.Windows.Forms ссылка вы можете использовать простой трюк, импортирующих System.Threading :

SpinWait.SpinUntil(() => false);

это также работает отлично, и он мысленно состоит в while итератор с отрицательным условием, которое возвращается вышеуказанным лямбда-методом. Но это не утечка процессора! Почему? Вы можете посмотреть исходный код здесь, но это в основном спин ждет текущего потока.

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

[DebuggerHidden, DebuggerStepperBoundary, DebuggerNonUserCode, DllImport(«user32.dll», EntryPoint = «PeekMessage»)] public static extern int PeekMessage(out NativeMessage lpMsg, IntPtr hWnd, int wMsgFilterMin, int wMsgFilterMax, int wRemoveMsg); [DebuggerHidden, DebuggerStepperBoundary, DebuggerNonUserCode, DllImport(«user32.dll», EntryPoint = «GetMessage»)] public static extern int GetMessage(out NativeMessage lpMsg, IntPtr hWnd, int wMsgFilterMin, int wMsgFilterMax); [DebuggerHidden, DebuggerStepperBoundary, DebuggerNonUserCode, DllImport(«user32.dll», EntryPoint = «TranslateMessage»)] public static extern int TranslateMessage(ref NativeMessage lpMsg); [DebuggerHidden, DebuggerStepperBoundary, DebuggerNonUserCode, DllImport(«user32.dll», EntryPoint = «DispatchMessage»)] public static extern int DispatchMessage(ref NativeMessage lpMsg); [DebuggerHidden, DebuggerStepperBoundary, DebuggerNonUserCode] public static bool ProcessMessageOnce() < NativeMessage message = new NativeMessage(); if (!IsMessagePending(out message)) return true; if (GetMessage(out message, IntPtr.Zero, 0, 0) == -1) return true; Message frameworkMessage = new Message() < HWnd = message.handle, LParam = message.lParam, WParam = message.wParam, Msg = (int)message.msg >; if (Application.FilterMessage(ref frameworkMessage)) return true; TranslateMessage(ref message); DispatchMessage(ref message); return false; >

тогда вы можете безопасно зацикливаться, делая что-то вроде этого:

while (true) ProcessMessageOnce();

вы также можете сделать это лучше, заменив while итератор с SpinWait.SpinUntil ссылка:

SpinWait.SpinUntil(ProcessMessageOnce);

Источник: askdev.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru