C++ Qt - 以编程方式检查 Steam 游戏是否为 运行

C++ Qt - Check if a steam game is running or not programmatically

我想知道是否有一种方法可以在 Windows 上以编程方式检查 Steam 游戏是否是 运行,知道它的 steamid。 我知道每个游戏都有其注册表项,其中有一个 运行 值。 但是,这个值似乎并不适用于所有游戏。例如,它适用于 Undertale:它在打开和关闭时立即更新。问题是 Rocket League 运行 值在打开时不会改变。我不知道这个问题是否发生在其他游戏中,或者是否只发生在火箭联盟中,但在这种情况下解决方案似乎不够好。

我问这个的原因是因为 运行 来自外部程序的游戏只检索 steam.exe 进程 ID 而不是实际的游戏进程 ID 所以我只能手动检查。

提前致谢!

对于想知道的人,我找到了解决方案。 在 HKEY_CURRENT_USER\Software\Valve\Steam 处有一个 RunningAppID 值,它将以当前 运行 游戏 steamid 作为值。到目前为止,这个对我来说是 100% 可靠的,所以我相信这是我一直在寻找的解决方案。 希望对你也有帮助。