2017-08-28 68 views
0

我正在练习wxwidgets最小样本,我想实现这种行为,我不知道它叫什么。行为是这样的; (因为它使用wxwidgets也使用了大胆性),当你使用直接访问打开程序时,它会正常运行,但是如果再次单击直接访问,则会将它发送到当前已打开的实例,例如,如果您有Windows 10 4桌面,然后在桌面4上打开该程序,然后转到桌面1并单击直接访问,它会将您发送到在桌面4上运行的程序。它是什么以及如何实现这种行为?

如何在wxwidgets中实现此操作? 比你提前。

+0

@DavidWilson,虽然对我的回答的评论通常是正确的,但我将链接发布到wxWidgets在线手册的官方文档。这当然应该标记为“LMGTFY”,但我没有打扰,因为OP说他正在学习图书馆。请撤消删除。 – Igor

+0

@MartijnPieters,请参阅上文。 – Igor

回答

2

您要找的内容通常是(至少在Windows下)称为“单实例应用程序”,要实现这一点,您需要在应用程序的不同实例(即副本)之间有某种IPC。

一般来说,在启动时,单个实例应用程序会尝试打开一个IPC通道给自己的另一个版本,如果成功,则将其自己的命令行参数(如果有)发送到现有实例并退出当前实例。当然,如果失败了,那么假设没有其他实例,应用程序将继续正常运行。

wxWidgets的,你可以使用wxSingleInstanceChecker class只是执行检查,但是这通常是不够的,所以你也将使用wxServerwxClient对象实际传输实例之间的信息。您可以在手册中的IPC overview中阅读更多关于它们的内容。

相关问题