Диалог запуска может служить простым и очень полезным способом открывать программы на вашем компьютере, но как он узнает, где находятся эти приложения в вашей системе? В сегодняшней статье SuperUser Q & A есть ответ на интересный вопрос читателя.
Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Вопрос
Считыватель SuperUser mt025 хочет знать, как диалоговое окно «Выполнить» знает, где находятся приложения, которых нет в PATH системы Windows:
Как опытный пользователь, я часто использую диалог запуска. Я могу понять, почему следующие команды работают, так как они находятся в переменной среды PATH .
- MSPaint
- diskmgmt.msc
- исследователь
Эти команды также работают в CMD.
Приведенные ниже команды работают в диалоговом окне «Выполнить», но их нет в переменной среды PATH , и они не работают в CMD.
- Fire Fox
- WinWord
- Iexplore
Как Run узнает, где находятся эти файлы?
Ответ
Участник SuperUser w32sh имеет ответ для нас:
Когда вы выполняете команду из диалогового окна «Выполнить», система просматривает разделы реестра путей к приложениям здесь:
- HKEY_CURRENT_USER \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Пути к приложениям
а также
- HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Пути к приложениям
Пример
- HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Пути к файлам \ filezilla.exe
( По умолчанию ) значение данных имеет полный путь к исполняемому файлу. Если он не найден, он просматривает каждую папку, включенную в PATH , тогда как CMD (командная строка) не ссылается на эти разделы реестра, а только ищет PATH .
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.