它叫什么以及如何实现这种行为?

问题描述 投票:0回答:1

我正在练习wxwidgets最小样本,我想实现这个行为,我不知道它叫什么。行为是这样的; (使用audacity,因为它也使用wxwidgets)当你使用直接访问打开程序时,它会正常显示,但是如果你再次点击直接访问,它会将你发送到你已经打开的当前实例,如果你有例如,也可以在Windows 10中4台桌面,您在桌面4中打开程序,然后您转到桌面1并单击直接访问,它会将您发送到桌面4中运行的程序。

我怎样才能在wxwidgets中实现它?比你提前。

c++ wxwidgets desktop-application windows-10-desktop
1个回答
2
投票

您正在寻找的通常(至少在Windows下)称为“单实例应用程序”,为此,您需要在应用程序的不同实例(即副本)之间使用某种IPC。

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

使用wxWidgets,您可以使用wxSingleInstanceChecker class来执行检查,但这通常是不够的,因此您还可以使用wxServerwxClient对象在实例之间实际传输信息。您可以在手册中的IPC overview中阅读有关它们的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.