如何仅一次打开python软件

时间:2019-03-11 14:31:36

标签: python windows tkinter

我已经使用tkinter框架开发了python应用程序,该框架在Windows平台上运行良好,但是面临的挑战是,我可以多次打开此应用程序,如上图所示。

我希望应用程序仅打开一次。如果该应用已打开,并且用户单击了桌面上的图标以再次将其打开,则不应将其打开,因为它已经被打开。

我想实现此功能,因为它可以在Teamviewerpycharm等应用中使用。

欢迎您提出建议以实现此目标。

编辑

这是如何尝试terminate的方法,但是将其添加到代码中后,可执行文件不再运行。

import psutil
import tkinter as tk




root = tk.Tk()

root.geometry("400x400")



b = tk.Button(root, text="hello world button", command=None)
b.place(x=200, y=100)



PROCNAME = "myapp.exe"

for proc in psutil.process_iter():
        # check whether the process name matches
    if proc.name() == PROCNAME:
            print("Running, exit(1).")
            exit(1)

else:
    print("not running, continue to startup.")
    root.mainloop()



root.mainloop()

1 个答案:

答案 0 :(得分:0)

  

问题:如何仅一次打开python软件

我的评论,
使用psutil查找正在运行的进程并终止。
应该写
使用psutil和退出查找正在运行的进程。

if __name__ == "__main__":
    PROCNAME = "myapp.exe"

    for proc in psutil.process_iter():
        # check whether the process name matches
        if proc.name() == PROCNAME:
            print("Running, exit(1).")
            exit(1)

    print("not running, continue to startup.")
    App().mainloop()