我实质上是在尝试为虚幻应用程序创建启动器之类的东西。我一直在寻找的预期行为是,当我启动应用程序时,启动器会最小化或隐藏在后台,然后每当您关闭应用程序时,启动器便会恢复。
我可以成功让启动器启动其他应用程序并将其最小化,但是由于某种原因,我重新最大化它的方法似乎不起作用。但是,如果我将应用程序保持在屏幕上(且不聚焦),但尺寸很小,则能够使它正常工作。似乎最小化或隐藏应用程序会导致此方法不起作用
基本上,我正在使用FPlatformProcess::CreateProc
并抓住processID
,然后侦听该应用程序是否正在运行。如果它退出运行,那么我(尝试)恢复该窗口。
我的猜测是,由于某种原因,很有可能会暂停该应用程序。我还应该注意,我改写了UGameViewportClient
类,这样即使失去焦点,它也不会暂停游戏,而且似乎也不起作用。
我可以在其他应用程序上修改一些代码,但是,我希望将其保持在最低限度。任何帮助将不胜感激。
答案 0 :(得分:0)
我的问题得以解决,其中一位引擎开发人员得以保留。从本质上讲,有两种方法可以执行这样的操作。首先,您可以使用MessageBus类并在两个游戏实例之间建立连接。但是,这种方法的缺点是,实际上不可能检测到崩溃和类似性质的东西。
第二种方法(我采用的方法)是在类似Visual Basic的东西中创建看门狗程序,您可以使用该程序来为退出的进程设置侦听器。这还允许您设置其他内容,例如侦听应用程序崩溃或将日志发送给开发人员。