Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么genguid.exe生成的clsid赢了';不行?_Python_Com_Pywin32_Clsid - Fatal编程技术网

Python 为什么genguid.exe生成的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

我试图修改pywin演示中的exceladdin.py示例

否则我可以修改它,但当我替换示例中给出的clsid时:

"{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}"