CMDからWindowsエクスプローラーを閉じることは可能ですか?これを行うバッチがあります。プログラムを実行するよりも、ディレクトリを変更し、このフォルダでエクスプローラを開きます。ユーザーがプログラムを閉じた後、バッチはエクスプローラー(または開いているすべてのエクスプローラー)を閉じ、次のフォルダー(cdフォルダー)に進み、このフォルダーで同じプログラムを実行する必要があります。最後のフォルダが処理されるまで。
2 に答える
エクスプローラープロセスを強制終了してエクスプローラーウィンドウを閉じます(これはウィンドウを強制終了するだけではないことに注意してください):
たとえば、win+rを使用してこれを試してください
cmd /c "taskkill /f /im explorer.exe && start explorer"
エクスプローラーを再起動せずに強制終了する場合は、Ctrl + Shift + Escを使用してタスクマネージャーを起動し、新しいタスク「エクスプローラー」を開始します。
Windowsエクスプローラウィンドウを開く独自のコマンドラインアプリケーションを作成する場合を除いて、バッチファイルからではなく、(これが重要な部分です)どういうわけか、そのエクスプローラウィンドウのウィンドウハンドルを知っているので、WM_CLOSE
メッセージを投稿できます。これは基本的に、誰かがそのウィンドウを閉じることをシミュレートします。
「開いたすべてのエクスプローラウィンドウ」を決定する方法はexplorer.exe
、コマンドラインからインスタンスを開始するのではなく、独自のアプリケーションから実行することです。
ウィンドウハンドルを決定し(HWND
win32 api用語で)、クローズメッセージを投稿する方が、プロセスハンドルを追跡してエクスプローラープロセスインスタンスを終了するよりも優れていると思います。これは、必要以上の副作用を引き起こす可能性があるためです。