是否有可能以编程方式阻止游戏在其窗口失去焦点时暂停?

时间:2012-04-10 15:03:09

标签: windows directx

我正在以窗口模式玩天际,我正在尝试为这个游戏创建一个供个人使用的机器人。我希望机器人在后台玩游戏,而我做其他事情,唯一的问题是游戏窗口在失去焦点时暂停。有没有办法让Skyrim进程认为它仍然有焦点,所以当我在另一个窗口做其他事情时它继续运行?我不是Windows编程专家,但是如果我可以以某种方式拦截那些说明未聚焦或最小化过程的消息,那么这是可能的吗?因此让流程认为它仍然集中在一起?

1 个答案:

答案 0 :(得分:6)

这是可能的。你需要找到游戏检查它是否在前台的机制,然后欺骗它认为交换机没有发生。这将需要您进行一定程度的逆向工程。有许多不同的方法可以通过游戏实际进行这种检查。

您可以尝试使用以下消息/功能之一进行操作:WM_KILLFOCUSWM_ACTIVATEGetForegroundWindow。另一方面,游戏可能会使用DirectX做一些时髦的事情。我没有那么多经验。

要重新进行迭代,为了正确地做到这一点,你真的必须确切地了解游戏如何进行检查(然后颠覆它)。