Как заставить свернутое приложение UE4 продолжать работать в фоновом режиме или свернуто? - PullRequest
0 голосов
/ 06 января 2020

Я по сути пытаюсь создать что-то вроде запуска для приложения Unreal. Ожидаемое поведение, которое я искал, заключается в том, что когда я запускаю приложение, программа запуска минимизируется или скрывается в фоновом режиме, а затем, когда вы закрываете приложение, программа запуска восстанавливается.

Я могу успешно получить панель запуска запустить другое приложение и свести его к минимуму, но по какой-то причине мой метод повторного максимизации не работает. Тем не менее, я смог заставить его работать, если я держу приложение на экране (и не в фокусе), но в небольшом размере. Просто кажется, что сворачивание или скрытие приложения приводит к тому, что этот метод не работает

По сути, я использую FPlatformProcess::CreateProc и беру processID, а затем слушаю, чтобы увидеть, запущено ли приложение. Если он перестает работать, то я (пытаюсь) восстановить окно.

Я предполагаю, что происходит что-то, что скорее всего приостанавливает работу приложения по какой-то причине. Следует также отметить, что я переопределил класс UGameViewportClient, чтобы он не приостанавливал игру, даже если он теряет фокус и это тоже не работает.

Я мог бы изменить некоторый код на другое приложение, но я хочу сохранить это как минимум. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 07 января 2020

Мне удалось схватить одного из разработчиков Engine с моим вопросом. По сути, есть два варианта сделать что-то подобное. Во-первых, вы можете использовать класс MessageBus и установить sh соединение между двумя игровыми экземплярами. Недостаток этого метода, однако, заключается в том, что на самом деле невозможно обнаружить сбои и тому подобное.

Второй метод (подход, который я выбрал) - это создать сторожевую программу в чем-то вроде Visual Basi. c, который вы можете использовать для настройки слушателя на выход из процесса. Это также позволяет настроить другие функции, такие как прослушивание сбоев приложений или отправка журналов разработчикам.

...