2015-12-12 3 views
0

Я пытаюсь написать сценарий Python для повторного открытия Outlook после его закрытия.Повторно открыть программу после ее закрытия

Цель этого: в основном у меня есть эта досадная привычка закрывать Outlook, как только я закончу, и когда я закрою Outlook, я не получу никаких напоминаний или уведомлений по электронной почте.

мне удалось сделать питон скрипт, который, как только вы запустите его, он будет открывать Outlook:

import os 
outlook = 'C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE' 
os.startfile(outlook) 

Как это сделать так, как только outlook.exe был закрыт, он будет открыть его обратно вверх снова ? Заранее спасибо.

+0

Получить ход процесса. Как только он выйдет, повторите попытку. –

ответ

2

Хмм, это не очень сложно перезапустить мертвого ребенка. Вы должны только дважды подумать о том, что он подразумевает: вам придется убить вас, пока не попытаетесь закрыть Outlook.

Чтобы получить ответ на свой вопрос, вы можете использовать subprocess для этого:

import subprocess 
import time 

outlook = 'C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE' 
while True: 
    p = subprocess.Popen(outlook) 
    p.wait() # just wait for the child to end and... restart it immediately 
    time.sleep(5) # unsure if really useful 

Приведенный выше код добавляет задержку перед повторным запуском, потому что я не знаю, внутренности Outlook (я не использовал его в течение многих лет) , Если он начал подпроцессы, и если начальный процесс не дождался своих детей, задержка может гарантировать, что каждая часть Outlook исчезнет, ​​прежде чем запускать новую копию. Известно, что Firefox и Thunderbird нуждаются в некотором промежутке времени между запросом на закрытие и перезагрузкой.

Смежные вопросы