我正在为设计一个windows实用软件,它是用Python和Wxpython编写的,如果已经打开了,我不想打开它。我想要一个这样的函数,如果用户打开该软件,一个消息框将显示在windows屏幕上,显示“您的应用程序已经在运行”。
请帮帮忙。提前谢谢..。
发布于 2012-08-20 10:41:56
已经存在实现所需逻辑的wxPython工具,称为wx.SingleInstanceChecker。下面是代码的示例(从wxPython维基中无耻地借用):
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()这个典型的例子(就运气而言)巧妙地表达了你的要求。
https://stackoverflow.com/questions/12036146
复制相似问题