nativityplay82 Posted June 11, 2007 Share Posted June 11, 2007 Hallo Leute, hat von Euch jemand Erfahrung mit Python und der COM-Schnittstelle. Mit folgendem Coding versuche ich einige der Events abzufangen. Bisher wird durch self.mastercom = Dispatch("DVBViewerServer.DVBViewer") der DVBViewer gestartet. Mit self.mastercom.SendCommand(111) lasse ich das OSD-Menü anzeigen. Doch keiner der Events wird abgefangen. Bin echt ratlos: mport wx import os import win32com import pythoncom from win32api import RegOpenKeyEx, RegQueryValueEx, FormatMessage from win32con import CREATE_NEW_CONSOLE, HKEY_CURRENT_USER from win32process import CreateProcess, STARTUPINFO from win32event import WaitForInputIdle from win32com.client import DispatchWithEvents, Dispatch from win32com.client.CLSIDToClass import RegisterCLSID from pythoncom import GetActiveObject, com_error from threading import Timer from wx.lib.intctrl import IntCtrl #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- class DVBViewerEvents(eg.PluginClass): def __init__(self): pass class EventHandler: def __init__(self2): self.TriggerEvent("Init des Eventhandlers") def onOSDWindow(WindowID): self.TriggerEvent("WindowID") def OnQuit(self2): self.TriggerEvent("Event") def onDVBVClose(self2): self.TriggerEvent("Event") def onControlChange(WindowID, ControlID): self.TriggerEvent(WindowID) def OnChannelChange(ChannelNr): self.TriggerEvent(ChannelNr) def onSelectedItemChange(): self.TriggerEvent("ItemChange") self.EventHandler = EventHandler self.TriggerEvent("Zuordnung erfolgt") def __start__(self, hugo): #try: if self.EventHandler is None: self.TriggerEvent("der event handler hat noch keinen plan") self.TriggerEvent("def start ausführen") self.mastercom = Dispatch("DVBViewerServer.DVBViewer") self.comOSD = DispatchWithEvents(self.mastercom.OSDItem, self.EventHandler) self.comObj = DispatchWithEvents(self.mastercom.Events, self.EventHandler) if self.comObj is None: self.TriggerEvent("wo zur hölle ist das com?") self.mastercom.SendCommand(111) #except: # raise eg.Exception("Can't connect to YARD server!") #self.comObj.Visible = 1 #self.isEnabled = True Quote Link to comment
nativityplay82 Posted June 13, 2007 Author Share Posted June 13, 2007 Hallo Leute, das hat sich alles erledigt, habe das Empfangen der Events mit Python (für EventGhost) hinbekommen. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.