如何仅强制应用程序的一个实例?

我正在快速开发一个程序。 我正在使用一个可以隐藏/显示主窗口的指示器。

但是当我从启动器启动应用程序时,它会启动该应用程序的新实例(因此将显示另一个指示符)。 而不是只显示以前运行的应用程序的主窗口。

强制只有一个指标的常用方法是什么?

首先,确保你有充分的理由这样做。 人们期望应用程序按照您在post中描述的方式工作。 即使你个人可能不喜欢它。

但是,要回答您的问题,最简单的方法之一是在启动时创建一个文件(例如在配置目录中),在应用程序退出时删除该文件。 在启动应用程序之前,如果另一个实例已处于活动状态,则检入代码,如果是,则直接退出。 如果您还想关注活动应用程序,则需要一种进行进程间通信的方法。 例如通过套接字。 有关详细信息,请参阅http://docs.python.org/library/ipc.html 。

我找到了一个更好的解决方案(虽然稍微复杂一点)。 您不仅可以validation流程是否正在运行,还可以在已启动的情况下为其提供一些输入。 请查看此解决方案 。