回答:
[実行]ダイアログからコマンドを実行すると、システムは次のApp Paths
レジストリキーを確認します。
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
そして
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
例
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\filezilla.exe
(default)
値データには、実行可能ファイルへのフルパスがあります。
見つからない場合は、PATHに含まれる各フォルダーを調べます。
一方、コマンドプロンプトはこれらのレジストリキーを参照しません。PATHのみを検索します。
HKCR\Applications
とRegisteredApplications
start
、アプリのパスを検索するビルトインを使用できます。
w32shの答えは、[実行]ダイアログで検索される追加のキーがここにあることを正しく指摘しています。
これらのキーに関する重要な事実は、キーの名前(「filezilla.exe」など)が絶対パスと一致する必要がないことです。Windows 7では、値は、ショートカットの「ターゲット」として使用できるものに似た、単純なコマンドラインでさえあります。
たとえば、私はレジストリにこれを使用していました。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="\"C:\\WINDOWS\\system32\\javaw.exe\" -Xms24M -Xmx512M -jar \"C:\\Program Files\\jEdit\\jedit.jar\" -reuseview"
Windows 10でこの機能を動作させることはできませんが、バッチファイルを含む任意のファイルを指定できます。たとえば、
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="C:\\Program Files\\jEdit\\run-jedit.bat"
これにより、「jedit」または「jedit C:\ foo \ bar \ something.txt」と入力して、適切なオプションでJVMを実行し、jEditを起動/再利用できます。
私が見る限り、キー名は「.exe」で終わる必要があるため、「abc」のエイリアスを作成するには、「。exe」ファイルを指していない場合でもキー「abc.exe」を作成します。