2016-03-26 11 views
2

Varsayılan programa sahip bir dosyayı açmak ve tuş vuruşlarını pyautogui kütüphanesi kullanarak açmak için alt işlem kullanıyorum.Bir uygulama açılıncaya kadar bekletme oluşturma

Sorunum, bir dosyayı açtığınızda, varsayılan programında açılmanızın zaman alacağı ve bu sürenin farklı zamanlarda farklı dosyalara göre değişeceğidir.

Peki, komut dosyamda bir duraklama nasıl oluşturabilirim, böylece dosya önce açılmalı ve tuş vuruşları ona gönderilmelidir.

Not: sleep() işlevi benim ne yaptığımı değil. Başlatılan uygulama ile betiğim arasında bir tür eşzamansızlığa ihtiyacım var.

from subprocess import Popen 
from sys import argv 
from pyautogui import press,hotkey 

if len(argv)>0: 

    word = Popen(['start',argv[1]],shell=True) 
    press("f12") 
    press("tab") 
    press("right") 
    for i in range(5): press("down") 
    press("enter") 
    hotkey("alt","f4") 
    word = None 

    pdf = Popen(["C:\Program Files\Nitro\Pro 9\NitroPDF.exe",argv[1]]) 
    hotkey("ctrl","shift","i") 
    press("enter") 
    hotkey("alt","f4") 

Word belgesini açmak ve tuş vuruşlarını göndermek için pdf olarak kaydetmek üzere bir program oluşturuyorum. Ondan görüntü vermek için başka bir pdf editörü açıyorum.

cevap

0

Bu amaç için Popen.wait() kullanabilirsiniz. Çocuk sürecinin sonlanmasını bekler.

+0

Ancak, başlatılan başlatılana kadar betiğimi duraklatacaktır. o zaman nasıl tuş vuruşlarını gönderebilirim? –

İlgili konular