写了一个用SWT的OleAutomation调用ActiveX的程序,发现总是出现问题,不知道是什么原因,所以简单的用Python的扩展库pywin32写了段测试代码。
其中pywin32要另外下载[http://sourceforge.net/projects/pywin32/ ]
方法调用:
import win32com.client
dd=win32com.client.Dispatch("注册到windows系统中的ProgID")
dd.method() 注:method是Activex注册的方法.
添加事件:
首先定义一个类,如:
class EventHandler:
def DeviceConnected(strMac):
pass
类中的方法名“DeviceConnected”与已注册的ActiveX事件名相同
然后:
devent = win32com.client.DispatchWithEvents(ProgID,EventHandler)
import pythoncom
pythoncom.PumpMessages() // 等待事件的发生
上述可能隐藏一些错误,简单记录,以便以后查阅。