2008-11-16 8 views
10

Birkaç görevleri otomatik hale getirmek isteyen (örneğin tutulması stile ctrl simüle -. vardiya - diğer editörler için R açık iletişim). Genel kalıp: kullanıcı bazı tuş kombinasyonlarına basacak, programım bunu algılayacak ve kullanıcı girdisini almak için potansiyel olarak bir iletişim kutusu açacak ve daha sonra tipik olarak bir yürütülebilir dosyayı çalıştırarak karşılık gelen bir komutu çalıştıracaktır.Autohotkey stili tuş kombinasyonu koklama, otomasyon için Python?

Çapraz platform güzel olsa da hedef ortamım pencereler. Programım bir kez başlatılacak, bir yapılandırma dosyası okuyacak ve bir tuş kombinasyonu veya başka bir etkinlik tarafından tetiklenene kadar arka planda oturmaya başlayacaktır.

Temel olarak otomatik anahtar deliği.

Neden sadece autohotkey kullanmıyorsunuz? Aslında epeyce autohotkey makrolarım var ama daha iyi bir dil kullanmayı tercih ederim.

Soruma soru: bir arka plan python işleminin tuş bileşimlerini algılamasının iyi bir yolu var mı?

Güncelleme:

import pyHook 
import pythoncom 

def OnKeyboardEvent(event): 
    print event.Ascii 

hm = pyHook.HookManager() 
hm.KeyDown = OnKeyboardEvent 
hm.HookKeyboard() 

while True: 
    pythoncom.PumpMessages() 

cevap

5

pyHook ve win32 uzantıları kullanarak cevap Bulundu
7

Sen AutoIt bakmak isteyebilirsiniz: pyHook ve win32 uzantıları kullanarak cevabını buldu. AutoHotKey'nin yapabileceği her şeyi yapar, ancak dil sözdizimi saçınızı çıkarmak istediğinizi yapmaz. Ek olarak, COM bağlantılarına sahiptir, böylece dilediğiniz kadar python'da yeteneklerinin çoğunu kullanabilirsiniz. Ben burada before nasıl yapılacağı hakkında yayınladım.

import pyHook 
import pythoncom 

def OnKeyboardEvent(event): 
    print event.Ascii 

hm = pyHook.HookManager() 
hm.KeyDown = OnKeyboardEvent 
hm.HookKeyboard() 

while True: 
    pythoncom.PumpMessages() 
: