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

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

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

Post by gotar » Sun 19 May, 2019 13:50

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

User avatar
DrKnS
Posts: 5216
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 5 times
Been thanked: 198 times

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

Post by DrKnS » Sun 19 May, 2019 15:37

Должно определяться автоматически (у меня работает).

gotar
Posts: 316
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times

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

Post by gotar » Sun 19 May, 2019 16:03

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

User avatar
DrKnS
Posts: 5216
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 5 times
Been thanked: 198 times

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

Post by DrKnS » Sun 19 May, 2019 18:08

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

Post Reply

Return to “Нужна помощь”