Как Far Manager находит исполняемый файл Python?

На моем компьютере установлены Far Manager и Python. Каталоги Python не находятся в переменной окружения PATH, поэтому пытаемся запустить python от cmd командная строка ничего не делает С другой стороны, я могу успешно запустить python из командной строки Far Manager. Кто-нибудь может объяснить почему?

1 ответ

Решение

Дальний менеджер начинает python используя ShellExecuteEx в far / execute.cpp.

ShellExecuteEx будет читать путь Python.exe из ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Python.exe,cmd.exe будет искать только в переменной PATH ENV. Если путь Python не указан в%PATH%, cmd не найдет его.

Вы можете попробовать то же самое, пытаясь запустить WordPad из Run ( Windows + R) и с консоли CMD. Вы не можете запустить его из CMD, если вы не в правильном каталоге.

Из регистрации приложения: ShellExecuteEx ищет файл в следующих местах:

  • Текущий рабочий каталог.
  • Только каталог Windows (подкаталоги не ищутся).
  • Каталог Windows\System32.
  • Каталоги, перечисленные в переменной среды PATH.
  • Рекомендуется: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Пути к приложениям
Другие вопросы по тегам