Python 为什么genguid.exe生成的clsid赢了';不行?
我试图修改pywin演示中的exceladdin.py示例 否则我可以修改它,但当我替换示例中给出的clsid时:Python 为什么genguid.exe生成的clsid赢了';不行?,python,com,pywin32,clsid,Python,Com,Pywin32,Clsid,我试图修改pywin演示中的exceladdin.py示例 否则我可以修改它,但当我替换示例中给出的clsid时: "{C5482ECA-F559-45A0-B078-B2036E6F011A}" 由genguid.exe或pythoncom.CreateGuid()生成的,例如: com加载项停止工作。无跟踪,无错误仅excel com对象列表中的以下文本(翻译)“加载项未加载。加载com对象时运行时出错。” 我是否缺少生成clsid的步骤 编辑:我想我发现了问题。。。clsid是dll的i
"{C5482ECA-F559-45A0-B078-B2036E6F011A}"
由genguid.exe或pythoncom.CreateGuid()生成的,例如:
com加载项停止工作。无跟踪,无错误仅excel com对象列表中的以下文本(翻译)“加载项未加载。加载com对象时运行时出错。”
我是否缺少生成clsid的步骤
编辑:我想我发现了问题。。。clsid是dll的id。对于python,clsid引用pythoncomloader27.dll。是这样吗。。。但仍然无法加载正确的python文件。clsid以某种方式链接到pythoncomloader和原始pythonfile。如果我生成一个新的clsid,我必须将它链接到pythonloader?怎么做?好吧,我想我找到了答案 python不能安装在“program files”文件夹中,除非您以root(管理员)身份运行所有内容 注册com服务的python程序读取/写入
/Lib/win32com/gen py
目录。Word(或使用com服务的程序)也必须能够在那里写入(?)。存在非人类可读的词典等
将python安装到c:/python27解决了我的问题。现在,只有寄存器程序必须作为root用户运行。Word可以作为普通用户运行。我认为在我的例子中,我在第二次(第一次正确注册)时没有给予足够的特权,并且它使用的是原始密钥,所以把字典弄糟了
"{E44EF798-7FDF-4015-AED6-00234CBBBA77}"