真の別プロセスでフォルダーを開く機能を右クリックメニューへ追加して手軽に使えるようにします。
🌟 君は本当の "新しいプロセスでフォルダーを開く" を知っているか?
Windows の標準仕様より実用的でしょう。
Explorer.exe の仕様に不明な点が多く、思いのほか手こずりましたが、おかげで新しい発見もあり面白い内容になりました。
真の別プロセスでフォルダーを開く機能をシェルメニューへ追加する方法
-
レジストリ エディターを開きます。
ファイル名を指定して実行。WIN+R
regedit
-
レジストリキーを作成します。
HKCU\SOFTWARE\Classes\Folder\shell\openseparateprocess\command
openseparateprocess は任意の名前です。
-
command キーの (既定)を explorer.exe %1 にします。
-
-
openseparateprocess キーへ戻ります。
-
MUIVerb (文字列値)を作成。値のデータを @shell32.dll,-37413 にします。
-
-
これでフォルダーを「真の別プロセスで開く」シェルメニューが追加されました。フォルダーを右クリックし、新しいプロセスで新しいウィンドウを開く(P)を選択してください。
[HKEY_CURRENT_USER\SOFTWARE\Classes\Folder\shell\openseparateprocess]
"MUIVerb"="@shell32.dll,-37413"
[HKEY_CURRENT_USER\SOFTWARE\Classes\Folder\shell\openseparateprocess\command]
@="explorer.exe %1"
Explorer.exe のコマンドラインオプション
command キーに設定した explorer.exe %1 はシンプルながら、間違いなく完全な新しいプロセスで起動します。
この単純なコマンド発見までに長い道のりを経ました。
Explorer.exe のオプションはいくつかありますが、すでに公式のドキュメントは存在せず、Windows のバージョンにより挙動が異なっていたり動作しないこともあります。
また、スイッチをコンマで区切るなど書式も特殊。今の Windows にこのような書き方は見られません。
explorer.exe [/n] [,/e] [,/root,{object}] [[,/select],{sub-object}]
/sepalate は隠しオプション。
コマンド発見までに検証した過程を紹介します。
分かっている情報からあたりをつける
/n | 動作しない |
/e | 動作しない |
/root,[path] | 動作しない |
/select,[path] | 動作する |
/sepalate | 動作する |
幸い Explorer.exe /separate の動作は確認できるので課題は解決済み。他の効果的なコマンドを検証します。
レジストリを検索するといくつかのパターンのコマンドが見えます。
%SystemRoot%\Explorer.exe
%SystemRoot%\Explorer.exe /idlist,%I,%L
%SystemRoot%\Explorer.exe /separate,/idlist,%I,%L
%SystemRoot%\explorer.exe /factory,{5BD95610-9434-43C2-886C-57852CC8A120}
%SystemRoot%\explorer.exe /factory,{682159d9-c321-47ca-b3f1-30e36b2ec8b9}
%SystemRoot%\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b}
%SystemRoot%\explorer.exe /factory,{ceff45ee-c862-41de-aee2-a022c81eda92}
/idlist 、 /factory スイッチの効果は不明。また、パスが通っている explorer.exe のすべてに環境変数のフルパスが記述してあるのも不思議。変数名の%I,%Lも見ない名前です。
分からないことだらけなので総当たりで検証することにして、もっとも短い explorer.exe %1 から試してみたところ、すぐに完全に別のプロセスで開くのを確認できました。最後の %1 がないと通常の開く動作になるのは発見事項。
つまり、前回の Explorer /separate の /separate は必要なかったということになります。(ただし、Explorer 単独で起動する場合に必要なので間違いではない)
なぜこうなるかは曖昧だが、望んだ効果を得られる結果オーライの Windows カスタマイズでした。