我使用Python和comtypes(对我来说都是新的)调用COM方法(没有参数),但是我得到了一个“异常:访问冲突读取”。当使用win32com时,它可以工作
import win32com.client
import pywintypes
result=win32com.client.Dispatch("{9275351B-0F06-366F-A560-933FED81FECF}")
result.AutomationMyType()
结果:
('text1', 'text2',...,'text99')
当使用comtypes时,它不起作用,返回“异常:访问冲突读取”
import comtypes
import comtypes.client as cc
tlb_id = comtypes.GUID("{40B0E4AB-2B70-4142-91A3-839CD72EA140}")
cc.GetModule((tlb_id, 1, 0))
obj=cc.CreateObject("ActLifeVBA.VBA.AutomationAktuar")
obj.AutomationMyType()
结果:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python37\lib\site-packages\comtypes\safearray.py", line 223, in __ctypes_from_outparam__
return self[0]
File "C:\Program Files\Python37\lib\site-packages\comtypes\safearray.py", line 214, in __getitem__
return self.unpack()
File "C:\Program Files\Python37\lib\site-packages\comtypes\safearray.py", line 260, in unpack
for d in range(1, dim+1)]
File "C:\Program Files\Python37\lib\site-packages\comtypes\safearray.py", line 260, in <listcomp>
for d in range(1, dim+1)]
File "C:\Program Files\Python37\lib\site-packages\comtypes\_safearray.py", line 97, in SafeArrayGetLBound
_SafeArrayGetLBound(pa, dim, result)
OSError: exception: access violation reading 0x0000020C5073FFFC
目前没有回答
相关问题 更多 >
编程相关推荐