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

Пожалуйста, дайте мне представление о том, как решить эту проблему. Я не могу найти какой-либо ресурс по этому поводу. Ваша помощь будет очень ценной. Итак, у нас есть одна ограниченная лицензионная программа. И хочу повторить Python, вызывающий приложение. Если приложение выдает ошибку о том, что лицензия недоступна, оно должно закрыть приложение и подождать некоторое время, скажем, 1 минуту, и снова запустить процесс, оно должно делать это бесконечно, пока лицензия не станет доступной и приложение наконец не откроется. Я могу открыть приложение, используя

Import os
os.startfile('application executable')

. После этого я хочу, чтобы приложение знало, появляется ли всплывающее окно с ошибкой, оно должно закрыть окно и подождать некоторое время, а затем снова открыть приложение

1 Ответ

0 голосов
/ 11 ноября 2019

os.startfile возвращается, как только запускается соответствующее приложение, поэтому используйте вместо него Popen.

При использовании окон используйте эти шаги.

Чтобы сначала открыть ярлык с помощью Popen в Windowsустановить pywin32

Шаг первый:

python -m pip install pywin32

Шаг второй:

Перейдите в папку Python Scrips что-то вроде C: \ Users \ Name \ AppData \ Local \ Programs \Затем введите Python \ Python38-32 \ Scripts.

pywin32_postinstall.py -install

Тогда используйте код Popen.

import subprocess
import win32com.client, win32api

shell = win32com.client.Dispatch("WScript.Shell")
shortcut = shell.CreateShortCut(r'path to shortcut')
long_path = shortcut.Targetpath
p = subprocess.Popen(long_path)
p.wait()
...