현재 명령줄에서 포커스가 있는 프로그램을 닫는 방법이 있습니까?
백그라운드에서 명령을 실행하는 음성 제어 프로그램을 실행하고 있습니다. 내가 아는 유일한 방법은 taskkill
특정 프로세스 이름을 입력해야 하는 명령을 사용하는 것입니다. 현재 포커스가 있는 모든 프로세스를 종료하고 싶습니다. 따라서 Firefox에 포커스가 있으면 해당 프로세스도 종료되고, 메모장에 포커스가 있으면 해당 프로세스도 종료됩니다.
해당되는 경우를 대비하여 win 10을 사용하고 있습니다.
답변1
불행하게도 명령 환경과 GUI 사이에는 연결이 없습니다. 응용 프로그램을 종료하는 데 사용하면 taskkill
해당 응용 프로그램이프로세스, 창문이 아닙니다. 프로세스를 종료하면 강제로 수행되기 때문에 이는 중요한 차이점입니다. 마치 추락한 것과 마찬가지다. 이것은 아마도 대부분의 시간 동안 하고 싶은 일이 아닐 것입니다.
일반적으로 Alt+를 누르면 현재 초점이 맞춰진 창(또는 대화 상자인 경우) F4이 닫힙니다 . Esc이 단축키는 메뉴 표시줄에서 파일 -> 종료를 선택하거나 제목 표시줄에서 닫기 버튼을 클릭하는 것과 동일합니다.
명령 프롬프트에서 이를 수행하려면 활성 창을 식별하고 키 입력을 보낼 수 있는 스크립트가 필요합니다. 이는 PowerShell을 사용하여 수행할 수 있습니다. Windows 스크립트 호스트(예: VBScript 또는 JavaScript)도 이를 수행할 수 있습니다. 그러나 약간의 프로그래밍 기술이 필요합니다. AutoHotKey 또는 KiXtart와 같은 프로그램은 또 다른 옵션입니다.
기본적으로 음성 제어 프로그램을 통해 명령줄에서 스크립트를 호출하게 됩니다.
응용프로그램은 일반적인 종료 루틴(예: 작업 내용을 저장하라는 메시지 표시 등)을 수행하므로 강제 종료되지는 않습니다 taskkill
.
답변2
Windows 셸을 통해 현재 포커스가 있는 프로그램을 닫는 방법이 있습니까?
Windows 셸에서 명령을 입력하려면 셸로 포커스를 전환해야 하기 때문에 이는 불가능합니다.
이전에 초점을 맞춘 프로그램(창)은 초점을 잃게 됩니다.
내가 아는 한, Windows 셸을 닫는 명령은 없습니다.이전에집중 프로그램.
답변3
오토잇할 수있어. 몇 가지 명령만 있으면 됩니다. 찾다:
$pid=WinGetProcess([ACTIVE])
ProcessClose($pid)