Я пытаюсь использовать автоматизацию ActiveX с python для управления Audio Precision ATS-2. Я использую pywin32 32-битную Windows XP с Python 2.7.
Я установил программное обеспечение Audio Precision. Затем я воспользовался утилитой makepy, которая нашла Audio Precision в списке и создала для нее оболочку. Все идет хорошо, пока я не попытаюсь вызвать функцию диспетчеризации, но я застрял.
из руководств, которые я нашел в Интернете,
win32com.client.Dispatch("Excel.Application")
Что я должен указать в области с надписью «Excel.Application»?
Как я могу найти это?
Когда я использовал средство просмотра объектов OLE/COM, я вижу записи Audio Precision в библиотеке типов, но я не уверен, как эта информация может мне помочь.
Я пробовал несколько вещей самостоятельно, но не получил почти никакого результата. Лучший результат, который я получил, был, когда я ввел CLSID
в функцию отправки, которую я нашел в созданном makepy объекте-оболочке.
win32com.client.Dispatch("{80EC6E76-D94F-48EB-8F4C-05BDD7850BF1}")
который дал мне следующую ошибку:
Traceback (most recent call last):
File "C:\Python27\Lib\site-packages\win32com\gen_py\APtest.py", line 5, in <module>
xlApp = win32com.client.Dispatch("{80EC6E76-D94F-48EB-8F4C-05BDD7850BF1}")
File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147221164, 'Class not registered', None, None)
У меня есть:
- заглянул в реестр, а ИД действительно нигде не прописан. Есть несколько записей Audio Precision, но не похоже, что в них есть что-то, что могло бы это исправить.
- пробовал переустановить программу Audio Precision, не помогло.
- попытался зарегистрировать объекты dll в программном обеспечении управления Audio Precision (ATS 1.60) с помощью
regsrv32
, но все выдавали ошибки и не регистрировались (которые, как я подозреваю, не те, которые мне нужно зарегистрировать)
Как я могу это исправить?