记录一下:
问题描述
如下所示:
in <module>
shortcut = shell.CreateShortcut(str(link_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<COMObject WScript.Shell>", line 2, in CreateShortcut
pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147024809), None)
上面是在用 Python 创建快捷方式时遇到的错误,
错误信息解析
我遇到的错误是:
pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147024809), None)
这是 Python 中使用 pywin32 库(即 win32com 或 win32api)调用 Windows COM 组件时抛出的异常。pywintypes.com_error 是 pywin32 用来封装 COM 调用错误的类型。
错误码含义
1. -2147352567
这是 HRESULT 类型的错误码,对应的宏是 DISP_E_EXCEPTION,表示 COM 调用过程中发生了异常。
2. ‘发生意外。’
这是错误信息的本地化描述,说明 COM 组件内部抛出了未预期的异常。
3. (0, None, None, None, 0, -2147024809)
这是一个元组,包含更详细的错误信息,其中:
- 最后一个数字
-2147024809是关键错误码,对应的宏是HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER),意思是 “参数无效”。
常见原因
这个错误通常发生在以下情况:
1. 传入的参数类型或值不正确
比如调用 COM 方法时传入了错误的参数类型、缺少参数、参数格式不合法等。
2. COM 对象未正确初始化
比如未调用 CoInitialize() 或 COM 对象未正确创建。
3. 目标 COM 组件未注册或损坏
比如调用的 ActiveX 控件或 DLL 未正确注册,或者版本不匹配。
4. 权限问题
某些 COM 组件需要管理员权限才能调用,普通用户权限下会失败。
解决方案
问题定位
经分析发现我遇到的可能是由于路径过长导致的问题,当换成较短路径时操作成功。
解决方法
创建短路径的临时目录,在临时目录处理后再移动文件到目标目录。

4564

被折叠的 条评论
为什么被折叠?



