Python win32com不知道模块的名称

时间:2013-06-21 00:04:26

标签: python api win32com zune

当我在pythonwin中查看COM浏览器时,我正在寻找一个python Zune(windows media thing)api。我找到了一个名为ZuneWmdu Type Library(1.0)的东西。 我在lib上使用了makepy,它生成了一个文件

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

in

python 2.7.3\Lib\site-packages\win32com\gen_py

我不知道要传递什么

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

我试着打电话

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')

两者都返回无。 我被困在这里,我需要找到所谓的库(对于itunes,你会打电话:

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

例如) 或如何使用GUID

调用模块

甚至有人告诉我,我做错了。

1 个答案:

答案 0 :(得分:0)

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

我没有Zune,但是例如,如果我跑步

pythoncom.ProgIDFromCLSID

这将生成一个名为win32com.client.gencache.EnsureModule('{420B2830-E718-11CF-893D-00A0C9054228}', 0, 1, 0) 的文件,我可以从中找出相关名称:

420B2830-E718-11CF-893D-00A0C9054228x0x1x0.py