【发布时间】:2016-05-26 12:33:41
【问题描述】:
我正在使用win32com 在python 中重新实现一个简单的WSH 脚本与COM 对象(“CANalyzer.Application”,如果你必须知道的话)进行交互。我在脚本调用 ConnectObject 方法以将其处理程序绑定到 COM 对象事件时被阻止:
Set App = CreateObject("CANalyzer.Application")
Set Measurement = App.Measurement
Wscript.ConnectObject Measurement, "Measurement_"
Sub Measurement_OnInit()
Set TestFunction = App.CAPL.GetFunction("f")
End Sub
这个处理程序似乎是我可以合法调用GetFunction的唯一时刻,在处理程序之外调用它要么没有预期的效果,要么抛出异常:
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147418113), None)
在 python 中是否有等效的 ConnectObject 可以用来绑定到 OnInit() 事件?
【问题讨论】:
-
查看win32com.client.DispatchWithEvents
-
@JacobSeleznev 谢谢,这真的很有帮助。我希望我能找到一些
win32com的在线文档并避免提出基本问题,但在谷歌上搜索DispatchWithEvents win32com python只会产生指向 SO 和邮件列表的链接。
标签: python python-3.x com win32com wsh