Как диалоговое окно Windows запускает исполняемые файлы?

Когда я вхожу в «firefox» в диалоговом окне запуска Windows (т. Е. В диалоговом окне, которое появляется при нажатии на Windows + R ), запускается firefox.

Однако «firefox.exe» не находится в моем %path% потому что, когда я набираю «firefox» в cmd.exe , я получаю

«Firefox» не распознается как внутренняя или внешняя команда, операционная программа или командный файл.

Таким образом, очевидно, что исполняемый файл не нужно искать в окне %path% , чтобы его можно было обнаружить в диалоговом окне run. Как это работает?

    По-видимому, диалог запуска проверяет не только переменную среды% path%, но и раздел реестра «Путь к приложению» . Из технической статьи о диалоговом окне запуска :

    Вы можете запустить сторонние приложения, введя имя исполняемого файла в текстовое поле «Открыть» и нажав «ОК», даже если пути к этим приложениям не отображаются в переменной окружения. Причина, по которой это возможно, заключается в том, что процедура установки для некоторых приложений добавляет путь исполняемого файла к специальному разделу реестра, называемому «Пути приложений».

    Соответствующим местом в реестре является HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths . Вы можете добавить свои собственные «пути приложения» туда с regedit.

    В диалоговом окне «Запуск» на более поздних версиях Windows также будут запускаться ярлыки, найденные в вашем стартовом меню. Я не уверен, когда это приступило к работе … оно может вернуться к Windows 95, хотя я так не думаю.

    Изменить: этот ответ неверен. Правильный ответ – это ключ реестра App Paths, как было сказано выше.

    Давайте будем гением компьютера.