için OnActivate olayı yakalamak için, ama başlangıç için yeterli benzer olabilir Microsoft'un Speech API bazı kod kullanıyorum:
ana döngü daha fazla ayrıntı için
while not self.shutting_down.is_set():
# Trigger the event handlers if we have anything.
pythoncom.PumpWaitingMessages()
time.sleep(0.1) # Don't use up all our CPU checking constantly
Düzenleme: daha sonra bir ana döngüde
ListenerBase = win32com.client.getevents("SAPI.SpInProcRecoContext")
class Listener(ListenerBase):
def OnRecognition(self, _1, _2, _3, Result):
"""Callback whenever something is recognized."""
# Work with Result
def OnHypothesis(self, _1, _2, Result):
"""Callback whenever we have a potential match."""
# Work with Result
Bir şey olduğunda, geri arama hemen çağrılmaz; bunun yerine, bekleyen herhangi bir olay olup olmadığını kontrol eden ve daha sonra uygun geri çağrısı yapan PumpWaitingMessages() öğesini çağırmanız gerekir.
Bu sırada başka bir şey yapmak isterseniz, döngüyü ayrı bir iş parçacığında çalıştırmanız gerekir (iş parçacığı modülüne bakın); aksi halde sadece senaryonun dibinde oturabilir. Örneğimde ayrı bir iş parçacığında çalıştırıyordum çünkü bir GUI çalıştırıyordum; shutting_down değişkeni, iş parçacığının durmasını söylemek için kullanabileceğiniz bir iş parçacığıdır.
Bunun için teşekkürler. Biraz ikinci detayı (döngü) detaylandırır mısınız - özür dilerim üzgünüm pyhton'da taze başlıyorum :). –
Sorun değil, benim düzenleyeme bakın :) – Kiv
:) Mesaj döngüsünün ne olduğunu biliyorum - pythoncom'u bulmakta zorlanıyorum - almam gereken bir paket mi? Ayrıca bir DispatchWithEvents yöntemi de var görüyorum - ben bu konu için zaman ayırdığınız zaman içine bakacağız. –