【问题标题】:How to make a minimized UE4 application continue to run in the background or minimized?如何让最小化的 UE4 应用程序继续在后台运行或最小化?
【发布时间】:2020-04-24 06:57:30
【问题描述】:

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

我可以成功地让启动器启动另一个应用程序并最小化自身,但由于某种原因,我重新最大化它的方法似乎不起作用。但是,如果我将应用程序保持在屏幕上(而不是焦点),但尺寸很小,我就能让它工作。似乎最小化或隐藏应用程序会导致此方法不起作用

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

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

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

【问题讨论】:

    标签: windows unreal-engine4


    【解决方案1】:

    我能够通过我的问题联系到一位引擎开发人员。本质上,有两种选择可以做这样的事情。首先,您可以使用MessageBus 类并在两个游戏实例之间建立连接。然而,这种方法的缺点是它实际上不可能检测到崩溃和类似性质的事情。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多