python怎样调用和注册dll或com组件
python3吧
全部回复
仅看楼主
level 1
夜晓鸟Q 楼主
装的是python3.6.3 64位的
我尝试调用大漠插件代码如下
import win32com.client
dm = win32com.client.Dispatch('dm.dmsoft')
print(dm.Ver())
报错如下:
F:\soft\python\python.exe F:/python_work/test_dir/test.py
Traceback (most recent call last):
File "F:\soft\python\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221021, '操作无法使用', None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "F:/python_work/test_dir/test.py", line 9, in
dm = win32com.client.Dispatch('dm.dmsoft')
File "F:\soft\python\lib\site-packages\win32com\client__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "F:\soft\python\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "F:\soft\python\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221164, '没有注册类', None, None)
请大神们详细指点下怎样操作 本人小白一个
跪谢!!
QQ:1746476939
2017年12月17日 14点12分 1
level 1
>>> dm = win32com.client.Dispatch(r'D:\game\dmcj\dm.dll')
Traceback (most recent call last):
File "D:\work\Conda\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\work\Conda\Anaconda3\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "D:\work\Conda\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "D:\work\Conda\Anaconda3\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
>>>
2018年02月02日 02点02分 2
level 1
首先,用32位Python
其次,把Dll文件注册到系统中
就会成功。刚测试通过。我目前也在研究Python+大漠
2018年08月05日 04点08分 3
正解
2018年08月05日 05点08分
感谢 问题原因就在这
2025年02月19日 12点02分
1