Почему запускается статическое программное приложение «NotePad++»?

Почему запускается статическое программное приложение «NotePad++»?
  1. Было время, когда нужно было добавить в PATHпеременную среды папку для NotePad++статического программного приложения, чтобы запустить его из диалогового окна «Выполнить». Эта папка:

    папка

  2. Было время, когда start notepad++для его запуска приходилось вводить команду только в диалоговом окне «Выполнить», хотя путь к нему отсутствовал в PATHпеременной среды.

  3. Теперь достаточно просто ввести notepad++в диалоговом окне «Выполнить», чтобы запустить его, хотя путь к нему отсутствует в PATHпеременной среды:

    Переменная PATH

    Как это происходит?

решение1

Похоже , что и диалоговое окно «Выполнить», и startкоманда в Cmd используют одну и ту же функцию ShellExecute(), которая имеет дополнительный список расположений:«Пути приложений»ключ реестра.

Вместо того, чтобы добавлять себя в %PATH%, программы могут регистрировать расположение отдельных исполняемых файлов по адресу:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
  • HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths

Это дает преимущества, поскольку не требует перезапуска всех приложений, которые все еще имеют старое значение %PATH%, и не загромождает путь внутренними исполняемыми файлами.

См. MicrosoftдокументацияБольше подробностей.

Связанный контент