実行ダイアログは、コンピュータ上でプログラムを開くための簡単で非常に便利な方法として機能しますが、それらのアプリケーションがシステム上のどこにあるかをどのようにして知るのでしょうか?今日の SuperUser Q&A 投稿には、好奇心旺盛な読者の質問に対する答えが記載されています。
今日の質疑応答セッションは、コミュニティ主導の Q&A Web サイトのグループである Stack Exchange の下位部門である SuperUser のご好意で提供されました。
質問
スーパーユーザー リーダー mt025 は、Windows のシステム PATH にないアプリケーションの場所を実行ダイアログがどのようにして認識するかを知りたいと考えています。
![]()
パワーユーザーとして、私は実行ダイアログを頻繁に使用します。次のコマンドは PATH 環境変数にある ため、なぜ機能するのか理解できます。
- エムペイント
- ディスク管理t.msc
- 冒険者
![]()
これらのコマンドは CMD でも機能します。
以下のコマンドは、実行ダイアログでは機能しますが、PATH 環境変数には含まれておらず、CMD では機能しません。
- ファイアフォックス
- ウィンワード
- 探検する
Run はどのようにしてこれらのファイルの場所を知るのでしょうか?
答え
SuperUser の寄稿者 w32sh が私たちに答えてくれました。
[実行] ダイアログからコマンドを実行すると、システムはここで App Paths レジストリ キーを調べます。
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App パス
そして
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App パス
例
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\filezilla.exe
(デフォルト) 値データには、実行可能ファイルへのフルパスが含まれます。見つからない場合は、PATH に含まれる各フォルダーを調べますが、CMD (コマンド プロンプト) はこれらのレジストリ キーを参照せず、PATH のみを検索します。
説明に何か追加することはありますか?コメントでは音を消してください。他のテクノロジーに精通した Stack Exchange ユーザーからの回答をさらに読みたいですか? ここで完全なディスカッション スレッドを確認してください 。





