Как я могу принудительно остановить программу без использования мыши в Windows 10?

53

Я пытаюсь отладить приложение Visual Studio C # для Windows, которое немедленно переходит на рабочий стол и отключает управление мышью. Когда он замерзнет, ​​мне нужно как-то его остановить. Я могу нажать клавишу Windows или Ctrl-Alt-Delete и получить доступ к панели задач, но когда я перемещаю мышь на основную часть моего экрана, это всегда значок песочных часов, и я не могу взаимодействовать. Поэтому, когда я щелкаю правой кнопкой мыши, чтобы закрыть приложение на панели задач, и появляется диалоговое окно с вопросом, хочу ли я прекратить отладку, я не могу щелкнуть по нему. Я также не могу нажать на что-либо в диспетчере задач.

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

У кого-нибудь есть предложения?

Kyle Delaney
источник
3
ALT + F4 закроет любую программу в Windows
Ramhound
57
@Ramhound Alt + F4 отправит приложению сообщение о закрытии окна. Если он не хочет обрабатывать его (например, удалив событие или что-то еще), это не сработает.
hexafraction
3
@Ramhound Он не будет закрывать не-GUI программы или программы, которые решили игнорировать событие закрытия.
Carey Gregory
17
потяните за вилку, afaik это работало для всех версий Windows.
Sarge Borsch
9
Используя Ctrl + Alt + Del, Ctrl + Shift + Esc, Win + R и так не обязательно использовать мышь. Почти все функции Windows можно использовать только с клавиатуры. Для этого вы можете использовать клавиши со стрелками, клавишу табуляции или Alt клавиша навигации.
BlueCacti

Ответы:

86

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

  1. Откройте окно «Выполнить», используя Windows + р ,
  2. Тип cmd в поле Выполнить и нажмите Войти ,
  3. Используйте команду tasklist перечислить все процессы.
  4. Используйте команду taskkill /F /IM "executable name.exe" /T прекратить процесс.
MJ9
источник
15
Или просто введите cmd /C taskkill /f /im "<whatever>" /t в окне «Выполнить».
Ismael Miguel
10
@ MJ9 Вы можете, вам просто нужно быть очень быстрым читателем: P
CodesInChaos
15
@IsmaelMiguel Тебе даже не нужно cmd /C часть; taskkill не встроенная оболочка
wizzwizz4
3
@ wizzwizz4 OMG! Ты совершенно прав! Вы можете прямо набрать taskkill там! Я забыл, что это исполняемый файл, помещенный внутри system32 (если я правильно помню). Это значит, огромное сокращение шагов. И как только вы сделали это один раз, все, что вам нужно сделать, это Win + R а затем ударил Enter,
Ismael Miguel
3
@ MJ9 "не могу сделать список задач в Run" cmd /K tasklist
user2428118
91

Попробуйте следующее:

  1. Открой Диспетчер задач нажав Ctrl + сдвиг + Esc
  2. Навигация с помощью клавиш со стрелками ( а также ) выделить проблемный процесс
  3. нажмите удалять ключ, чтобы убить процесс
  4. При необходимости подтвердите следующее приглашение, выбрав соответствующий выбор с помощью клавиш со стрелками ( или же ) и нажмите Войти
Run5k
источник
2
Вам понадобится Del - & gt; Войти; есть подсказка
wizzwizz4
@ wizzwizz4 спасибо за отзыв! Это очень хороший момент. В некоторых случаях нет дополнительной подсказки, но программа, которая заморожена, обычно имеет такую ​​подсказку. Я добавил дополнительный шаг к ответу.
Run5k
В моей версии диспетчера задач (Win 10 Home) появляется кнопка «Удалить», чтобы убить процесс, с сообщением «Вы уверены, что хотите это сделать? Мне было бы интересно узнать, для каких систем это не всегда появляется.
wizzwizz4
1
@ wizzwizz4 Я думаю, это также зависит от вашей цели. На моем компьютере с Windows 10 Pro x64 я пробовал его в Блокноте, Paint и приложении «Настройки» Каждый из них закрывается без каких-либо дополнительных подсказок.
Run5k
Это работает! Спасибо. У меня есть несколько вариантов для правильного ответа здесь. Надеюсь, вы не против, чтобы я выбрал один с меньшим количеством голосов. Клавиши со стрелками не будут реагировать в первый раз, когда я попробую ваше решение, поэтому я скажу, что другое является более последовательным, и у него есть некоторая хорошая информация об использовании командной строки.
Kyle Delaney
10

Небольшая модификация ответа Taskkill: вы можете использовать подстановочный знак, если вы не помните / не знаете точное полное имя процесса, например:

taskkill /f /im badproce*

Он убьет все исполняемые файлы, начинающиеся с этого имени, поэтому убедитесь, что вы не просто набрали что-то вроде s* потому что это, очевидно, может убить критические процессы, такие как svchost,

Так же /T Флаг предназначен для уничтожения дерева процессов, которое является целевым процессом и всеми дочерними процессами, которые оно породило. Это может быть необязательно в большинстве случаев.

user1306322
источник
1
Если я вспоминаю, он игнорирует важные процессы, по крайней мере, в Windows 10. Я не знал, что он принял подстановочный знак. Благодарю.
Codingale
1
Это напоминает мне о очень глупой вещи, которую я сделал, когда начал работать: мне пришлось написать скрипт, который убивал некоторые процессы, для которых у меня был PID, на Unix-машине. Я не помню деталей, но я анализировал вывод ps -ef с регулярным выражением, содержащим PID, и, если оно совпадает, я должен был отправить kill -9, Теперь, по какой-то причине, мое регулярное выражение не соответствовало, поэтому я попытался сделать его "более широким". Это не сработало. Тогда все шире, потом шире ... Разочарованный, я решил попробовать что-то, что сработало наверняка, и я использовал /2/ в качестве регулярного выражения для PID. Ууу, это сработало! kill -9 на все PID, содержащие 2... X_X
Fabio Turati
Я до сих пор помню свое удивление, когда я нажал Enter, и оболочка, которую я использовал, была закрыта. Тогда я понял, что случилось. В довершение всего, kill не работает с процессами других пользователей, но, к сожалению, мы были как 20 человек, использующих одну и ту же учетную запись на этой машине ... Это был не смешной день. Мораль этой истории такова: если вы используете подстановочные знаки, обратите большое внимание!
Fabio Turati
9

Microsoft / Sysinternals' pskill инструмент может использоваться для уничтожения процесса через командную строку и позволяет уничтожать процессы по номерам идентификаторов процессов или по именам процессов. Его также можно использовать для удаленного уничтожения процессов: если неправильно работающая программа также помешала вам использовать клавиатуру, вы можете установить pskill на другой машина в вашей локальной сети, чтобы убить оскорбительный процесс.

jamesdlin
источник
7

Вы можете убить процесс с другого устройства.

Альтернатива А : В «Настройки -> Для разработчиков -> Включить портал устройства». Если вы включите его, вы получите веб-портал, доступ к которому можно получить с любого другого веб-браузера. С его помощью вы можете перечислить запущенные процессы, и согласно документации :

На некоторых платформах (Desktop, IoT и HoloLens) вы можете завершать процессы.

К сожалению, в настоящее время он не работает на моем компьютере, нажатие кнопок «X», кроме того, что каждый процесс ничего не делает.

Альтернатива Б : Если у вас есть Windows Mobile или другое устройство Windows, вы можете установить VoiceWake приложение из Магазина и его серверный компонент на вашем компьютере. Затем вы можете использовать приложение, чтобы убить процесс удаленно.

И, конечно, есть и другие приложения, которые делают то же самое.

Tom A. Vibeto
источник
Это очень умная идея! Я бы предпочел не тратить время на его тестирование, поскольку у меня уже есть некоторые рабочие решения. Я думаю, что это хороший запасной вариант в ситуации, когда клавиатура не реагирует.
Kyle Delaney
5

Я не уверен, где проблема с Ctrl + Alt + Del происходит, но я могу использовать его вместе с клавишами со стрелками, чтобы открыть Task Manager, Оттуда вы можете следовать ответу @ Run5K, чтобы завершить процессы:

  1. Нажмите Ctrl + Alt + Del
  2. Используйте клавиши со стрелками для выбора Task Managerи нажмите Войти открыть (пришлось нажать Войти дважды открыт Task Manager )

  3. Когда появится диалоговое окно с разрешениями, используйте клавиши со стрелками и Войти выбирать Yes позволять Task Manager разрешение на внесение изменений

    Отсюда вы можете следить за ответом @ Run5k из пункта списка (2):

  4. Используйте клавиши со стрелками ( вверх а также вниз ), чтобы выбрать процесс, который необходимо завершить. Вы также можете использовать Оставил а также Правильно стрелки для открытия / закрытия свернутых / развернутых элементов и завершения подпроцессов

  5. использование удалять завершить процесс
  6. Используйте клавиши со стрелками и Войти управлять любыми диалоговыми окнами, которые могут появиться
Doug B
источник
2

я использую Ctrl + Shift + Esc Затем я получаю окно диспетчера задач. С помощью Alt-Tab я пытаюсь переключиться на диспетчер задач, а затем перемещаюсь по открытым приложениям с помощью клавиш со стрелками. Когда вы выбираете приложение, просто нажмите кнопку Удалить.

H3NDRX
источник
1

Если вы отлаживаете приложение, вы можете нажать сдвиг + F5 в визуальной студии, чтобы закрыть запущенный экземпляр.

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

Goufalite
источник
1
Что такое ключ MAJ? Вы имеете в виду Shift?
Mixxiphoid
1
К сожалению! Правильный! Редактирование моего ответа
Goufalite
1

Много лет назад, когда мышей не было, я закрывал приложение, нажимая клавишу F10, чтобы попасть в строку меню, стрелкой вниз, чтобы открыть меню, стрелкой влево, чтобы войти в системное меню, а затем стрелкой вверх, чтобы перейти к «Закрыть». "и нажмите ввод. Он по-прежнему работает с простыми приложениями, такими как Блокнот, в зависимости от типа меню, которое они имеют. (Я не помню, почему я предпочитал это по сравнению с Alt-F4 в то время, возможно, это было более впечатляющим для людей, наблюдающих за вами;)

IngoB
источник
Ваш метод работает в Windows 10? ОП спрашивает конкретно о Windows 10 (см. Тег Windows 10). Обновите свой ответ, если он работает в Windows 10, или удалите его.
alljamin
1
@alljamin: конечно. Это CUA (Common User Application) эквивалент нажатия Alt для вызова меню. И CUA широко поддерживается многими приложениями Windows. (другие примеры: Shift-Del для вырезки, Shift-Ins для вставки.) Широко поддерживается, включая Windows 10.
TOOGAM
Alt+Space,C похожий подход.
RJFalconer
-1

Откройте Run Box и введите:

cmd /c tskill process_name 

tskill это программный файл в директории C:\windows\system32

Vishal choudhary
источник
2
нет необходимости cmd /c
phuclv
-3

ALT-F4 - самый быстрый способ.

Другой вариант без использования мыши - CTRL + ALT + DEL, диспетчер задач и уничтожение необходимого приложения.

Kunalpod
источник