Page 1 of 1

Запуск .py без открытия нового консольного окна

Posted: Sun 19 May, 2019 13:50
by gotar
Раньше файлы при нажатии на файлы с расширением py, они запускались в том же консольном окне что и фар. Насколько я помню для такого поведения нужно было сделать настройку параметра System.Executor.BatchType. Сейчас я этой настройки не нашел. Что вместо нее?

Запуск .py без открытия нового консольного окна

Posted: Sun 19 May, 2019 15:37
by DrKnS
Должно определяться автоматически (у меня работает).

Запуск .py без открытия нового консольного окна

Posted: Sun 19 May, 2019 16:03
by gotar
А нельзя ли чуть подробнее рассказать алгоритм работы этого автомата, чтобы я нашел у себя, почему он не срабатывает. Ну или хотя бы имя файла и номер строки в исходных текстах. Если выкидывание BatchType здесь обсуждалось, может кто-то поделится ссылкой, а то я сходу не нашел.

Запуск .py без открытия нового консольного окна

Posted: Sun 19 May, 2019 18:08
by DrKnS
https://github.com/FarGroup/FarManager/ ... xecute.cpp

Стек примерно такой:

Code: Select all

Execute("file.py")
  GetAssociatedImageType("file.py")
    GetShellTypeFromExtension("file.py")
      GetShellType(".py")
        SHCreateAssociationRegistration->QueryCurrentDefault(".py") -> "Python.File"
  GetAssociatedApplicationFromType("Python.File") -> "C:\Windows\py.exe"
  FindAndGetApplicationType("C:\Windows\py.exe")
    GetImageType("C:\Windows\py.exe") -> image_type::console