簡體   English   中英

Python:如果應用程序已在運行,如何禁止打開它

[英]Python:How to prohibit opening of an application if it is already running

我設計Python編寫與wxPython的 GUI的 works.I不用想,如果它已經打開了,打開我的軟件適用於Windows 7在Windows實用軟件。 我希望這樣的功能,如果用戶打開該軟件,將在Windows屏幕上顯示一個消息框,顯示“您的應用程序已在運行”。

Plz的幫助。 提前致謝...

現有的wxPython工具已經實現了所需的邏輯,稱為wx.SingleInstanceChecker 這是代碼的例子(從wxPython wiki中無恥地借用):

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()

這個非常典型的例子(為了運氣)可以很好地滿足你的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM