Я пытаюсь получить доступ к объекту OLE "Broker.Application" через Win32 :: OLE
Приложение "Broker.exe" уже запускается вручную.
Запуская следующий фрагмент из оболочки bash с помощью cygwin perl, он правильно подключается к запущенному экземпляру "Broker.exe"
$broker = Win32::OLE->new('Broker.Application') or die "Can't load Broker.Application";
Но когда я запускаю этот фрагмент из внутреннего экрана, он создает новый экземпляр, как показано ниже
$ ps -W | grep -i broker
1912 0 0 1912 ? 0 01:07:37 C:\Program Files\AmiBroker\Broker.exe #Manually started
3896 0 0 3896 ? 0 14:39:41 C:\PROGRA~1\AMIBRO~1\Broker.exe #created by Win32::OLE from inside screen
Пробовал Win32 :: OLE :: GetActiveObject (), но не помогает, так как возвращает undef, даже если экземпляр запущен.
При попытке входа на эту машину удаленно с использованием SSH, в этот раз этот сценарий также создает новый экземпляр вместо присоединения к запущенному экземпляру.
Не уверен, в чем разница между запуском этого сценария perl из изолированной оболочки bash и изнутри экрана gnu.
Пожалуйста, предложите, если есть какой-либо обходной путь для запуска его из внутреннего экрана.