Проверьте, работает ли приложение, а не как фоновый процесс - PullRequest
1 голос
/ 17 октября 2019

У меня есть код Python, который должен проверить, запущен исполняемый файл или нет, но каким-то другим способом. Запуск исполняемого файла занимает некоторое время (отображается экран загрузки), в зависимости от скорости самого компьютера.

При щелчке исполняемого файла процесс его запуска отображается следующим образом: enter image description here Это занимает несколько секунд, в зависимости от скорости компьютера.

Согласно диспетчеру задач, это фоновый процесс: enter image description here

Когдаисполняемый файл активен (экран загрузки исчез, а окно показано), процесс смещен с фонового процесса на раздел приложений. enter image description here

Теперь у меня есть код, который может определить, запущен определенный процесс или нет.

import psutil as psu
"gom_inspect.exe" in (p.name() for p in psu.process_iter())

Но этот код уже заявляет «True»'с экраном загрузки (в качестве фонового процесса), в то время как мне нужно, чтобы оно было' True ', если программа активна и готова к использованию.

Как Python может отображать' True ', когда исполняемый файл находится в приложенияхраздел вместо фонового процесса-раздел?

Пожалуйста, дайте мне знать, если что-то не понятно.

Я надеюсь, что кто-то может помочь.

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете использовать pywinauto , чтобы получить список открытых окон без фоновых процессов. Затем проверьте, находится ли название приложения, которое вы ищете, в списке. Предполагается, что заголовок «GOM Inspect»:

from pywinauto import Desktop

windows = Desktop(backend="uia").windows()
"GOM Inspect" in [w.window_text() for w in windows]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...