Windows エクスプローラーが常に Windows システム ディレクトリから起動されると想定しても問題ありませんか? また、そのプロセスは常に「explorer.exe」という名前ですか?
そうでない場合、その完全なファイルパスを取得する方法は?
編集:言及するのを忘れました-特定のユーザーセッションで実行されているWindowsエクスプローラーのプロセスIDを後で見つけるためにこれが必要です。したがって、そのフルパスを検索します。
編集 2:貢献してくれた皆さん、特に sehe に感謝します! 彼の投稿の後、独自のシェルをセットアップする方法を説明するこのページを見つけました。explorer.exeを自分のプロセスに完全に置き換えてワイルド テストを行ったところ、結果は次 のようになりました。
ご覧のとおり、技術的には、explorer.exe を思いついたプロセスに置き換えることができます。私のスクリーンショットでもわかるように、Windows ではシェルを完全に制御できます(スクリーンショットは私のウィンドウ全体です)。
要するに、「explorer.exe」ファイル パス (または使用されているシェル プロセス) を取得する唯一の方法は、上で引用したリンクからこれらのレジストリ キーを使用することです。さらにいくつかのチェックを行う必要がありますが、それは非常に簡単なことです。
Sean Cline の提案に関しては、その特定のクラス名を持つトレイ ウィンドウが付属する「ストック」Windows Explorer を実行している場合にのみ、非常にエレガントなソリューションになります。