Python win32com 不知道模块名称



当我看到pythonwin中的COM浏览器时,我正在寻找一个python Zune(windows媒体的东西)api。我找到了一个叫ZuneWmdu Type Library(1.0)的东西。我在这个库上使用了makepy,它生成了一个文件

9FE20C05-81CE-46D7-9C56-FD97A865BBB8x0x1x0.py 

python 2.7.3Libsite-packageswin32comgen_py

我不知道该传入什么

 win32com.client.gencache.EnsureDispatch('???')

I tried calling

win32com.client.gencache.EnsureDispatch('9FE20C0581CE46D79C56FD97A865BBB8')

导致异常(pywintypes.com_error)

(.py文件的x0x1x0部分似乎无关)

win32com.client.gencache.GetModuleForCLSID('9FE20C05-81CE-46D7-9C56-FD97A865BBB8')
and
win32com.client.gencache.GetModuleForProgID('9FE20C0581CE46D79C56FD97A865BBB8')

都返回None。我被困在这里了,我需要找到库的名称(对于itunes,你可以调用:

)
win32com.client.gencache.EnsureDispatch('iTunes Application')
例如

)或者如何用GUID

调用模块

或者甚至有人告诉我,我做错了什么。

CoClass的名称可以在生成文件的注释中找到(它们基于来自pythoncom.ProgIDFromCLSID的信息)。

我没有Zune,但是,如果,例如,我运行

win32com.client.gencache.EnsureModule('{420B2830-E718-11CF-893D-00A0C9054228}', 0, 1, 0)

这将生成一个名为420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py的文件,我可以从中找出相关的名称:

C:UsersusernameAppDataLocalTempgen_py3.6>grep 'known by' *.py
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.Dictionary'
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.Encoder'
420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py:# This CoClass is known by the name 'Scripting.FileSystemObject'

相关内容

  • 没有找到相关文章

最新更新