首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:如果应用程序已经在运行,如何禁止其打开

Python:如果应用程序已经在运行,如何禁止其打开
EN

Stack Overflow用户
提问于 2012-08-20 10:37:08
回答 1查看 595关注 0票数 6

我正在为设计一个windows实用软件,它是用PythonWxpython编写的,如果已经打开了,我不想打开它。我想要一个这样的函数,如果用户打开该软件,一个消息框将显示在windows屏幕上,显示“您的应用程序已经在运行”。

请帮帮忙。提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-20 10:41:56

已经存在实现所需逻辑的wxPython工具,称为wx.SingleInstanceChecker。下面是代码的示例(从wxPython维基中无耻地借用):

代码语言:javascript
复制
import wx

class SingleAppFrame(wx.Frame):
    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, title=title, size=(300, 300))
        self.Centre()


class SingleApp(wx.App):
    def OnInit(self):
        self.name = "SingleApp-%s" % wx.GetUserId()
        self.instance = wx.SingleInstanceChecker(self.name)
        if self.instance.IsAnotherRunning():
            wx.MessageBox("Another instance is running", "ERROR")
                return False
       frame = SingleAppFrame(None, "SingleApp")
       frame.Show()
       return True


app = SingleApp(redirect=False)
app.MainLoop()

这个典型的例子(就运气而言)巧妙地表达了你的要求。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12036146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档