Как открыть программное обеспечение Python только один раз - PullRequest
0 голосов
/ 11 марта 2019

Я разработал приложение Python с tkinter фреймворком, которое хорошо работает на платформе Windows, но проблема в том, что я могу открыть это приложение несколько раз, как показано на рисунке.

Iхотите, чтобы приложение открывалось только один раз.Если приложение открыто и пользователь нажимает на значок на рабочем столе, чтобы открыть его снова, оно не должно открываться, потому что оно уже открывается.

Я хочу добиться этой функции, так как она работает в приложениях, таких как Teamviewer, pycharm и т. Д.

Ваши предложения приветствуются для достижения этой цели.

РЕДАКТИРОВАТЬ

Это то, как я пытаюсь 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 голосов
/ 13 марта 2019

Вопрос : Как открыть программное обеспечение Python только один раз

Мой комментарий,
Поиск запущенных процессов с использованием psutil и завершение.
должно быть написано
Поиск запущенных процессов с использованием psutil и exit .

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...