我有一个用户实际上并没有关闭的应用程序 - 不是关闭整个应用程序,而是隐藏了主窗口。然后当用户再次启动同一个应用程序时,第二个实例与第一个(已经运行的)实例通信,第一个实例尝试将主应用程序窗口带到前台。
问题是这大多是成功的,但有时会失败。我已经完成了我的研究,似乎后台进程无法将它们的窗口带到前台,这在某种程度上是合理的。解决方案是从第二个实例调用 AllowSetForegroundWindow(它可以将一个窗口带到前台,因为用户已经启动了它)并授予程序的第一个实例权限。
我的问题是:如何确保我的代码有效?我问这个是因为我没有找到检查 AllowSetForegroundWindow 调用是否有任何效果的方法。我不知道第一个实例何时无法设置前景窗口(因为它大部分都可以工作,很少不工作),所以我不知道如何检查一切是否正常。有什么想法吗?