如何使最小化的UE4应用程序继续在后台运行或最小化?

时间:2020-01-06 18:23:13

标签: windows unreal-engine4

我实质上是在尝试为虚幻应用程序创建启动器之类的东西。我一直在寻找的预期行为是,当我启动应用程序时,启动器会最小化或隐藏在后台,然后每当您关闭应用程序时,启动器便会恢复。

我可以成功让启动器启动其他应用程序并将其最小化,但是由于某种原因,我重新最大化它的方法似乎不起作用。但是,如果我将应用程序保持在屏幕上(且不聚焦),但尺寸很小,则能够使它正常工作。似乎最小化或隐藏应用程序会导致此方法不起作用

基本上,我正在使用FPlatformProcess::CreateProc并抓住processID,然后侦听该应用程序是否正在运行。如果它退出运行,那么我(尝试)恢复该窗口。

我的猜测是,由于某种原因,很有可能会暂停该应用程序。我还应该注意,我改写了UGameViewportClient类,这样即使失去焦点,它也不会暂停游戏,而且似乎也不起作用。

我可以在其他应用程序上修改一些代码,但是,我希望将其保持在最低限度。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我的问题得以解决,其中一位引擎开发人员得以保留。从本质上讲,有两种方法可以执行这样的操作。首先,您可以使用MessageBus类并在两个游戏实例之间建立连接。但是,这种方法的缺点是,实际上不可能检测到崩溃和类似性质的东西。

第二种方法(我采用的方法)是在类似Visual Basic的东西中创建看门狗程序,您可以使用该程序来为退出的进程设置侦听器。这还允许您设置其他内容,例如侦听应用程序崩溃或将日志发送给开发人员。