Alt + F4でcmdを閉じないのはなぜですか?


25

Windowsでは、alt+ F4はcmdを閉じません(例:WindowsKey+ R、cmd、Enter

コマンドウィンドウは通常のウィンドウとどの程度違いますか?


サードパーティ製のホットキー処理プログラムがいくつかあります。関連するコマンドプロンプトウィンドウでのみAlt-F4をインターセプトし、別のシャットダウンを使用する必要があります(たとえば、「exit」と入力するか、閉じるボタンをクリックするか、システムメニューの「閉じる」オプションを使用します)。明らかに、起こり得るマイナス面に注意する必要があります(ジェフの回答を参照)。申し訳ありませんが、推奨できません。
Steve314


Alt+Space-> Cを使用して閉じることができます。
Bor691

回答:


19

コマンドウィンドウは、DOSエミュレートウィンドウ内のさまざまなアプリケーションにこれらのキーの組み合わせを使用します。Alt-F4でウィンドウを閉じた場合、特定のユーティリティを使用できない場合があります。キーボードを修正したい場合は、入力するだけでexit終了します。


どのようなユーティリティですか?Alt-F4はNTシステムのほとんどすべてのウィンドウを閉じますが、なぜコマンドプロンプトは例外ですか?
Peeyush

1
DOSのWindows NTより前のアプリケーション。Alt + F4でゲームの保存メニューが表示されたゲームを覚えています(Wing Commander Armadaが信じています)。これはDOSをエミュレート(または表示)するように設計されているため、これらのアプリがコマンドを受信できるように、このキーの組み合わせを受け入れて閉じる必要はありません。
ジェフF.

ええと…。だから、Microsoftはまだいくつかの機能のためにその組み合わせを使用している必要があります。
Peeyush

15

あなたが持っているために探している一方、Alt+ F4クローズコンソールウィンドウを、次のように使用することができますAutoHotkeyをするスクリプトを:

#IfWinActive, ahk_class ConsoleWindowClass
    !F4::WinClose, A

#IfWinActive

6

Alt+ F4はプログラムにWM_CLOSEメッセージをフォーカスして送ります

そのため、cmdプログラムはWM_CLOSEメッセージを無視するように意図的に構成されているか、メッセージをまったく処理しない可能性があります。


これはWin32コンソールウィンドウに完全に適用されるわけではありません-それらはconhost(以前-によってcsrss)所有され、コンソールアプリケーションはそれを異なる方法で処理します。
悲しみ

@grawity、当然のことながら、ありがとう。しかし、それが質問に対する本当の答えの始まりであるように思えます。
DMA57361

@grawity-Windows内で、コンソールプログラムの一部として処理されるWM_CLOSEメッセージがまだあると考えました。ただし、大きな違いがあるわけではありません-これはcmd.exeのソースに取り組んでいるプログラマーのための答えであり、設計原理に興味のあるユーザーのためではありません。
Steve314

1
iglvzxの答えでわかるように、コンソールはに応じて実際に閉じWM_CLOSEます。
Synetech
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.