如何调试Python中的Win32 COM集成?

2 投票
1 回答
1136 浏览
提问于 2025-04-17 03:10

我正在尝试通过 Python 使用 win32com.client 调用文本转语音的 API。这个 Python 解释器是和 Splunk 一起打包的,我可以通过命令 "splunk cmd python" 手动调用它。

这是一个示例:

from win32com.client import constants
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak('this is a test')

我的代码是通过 splunkd 进程调用的(以普通 Windows 用户身份运行),但我遇到了以下错误信息。

(-2147352567, '发生异常。', (0, None, None, None, 0, -2147200925), None)

我在努力排查这个问题,有什么建议吗?

这个打包的 Python 版本是:
Python 2.6.4 (r264:75706, 2011年2月7日,14:20:39) [MSC v.1400 64 位 (AMD64)]

== 更新 ==
我已经找到了问题的根源,问题出在启动 Python 解释器的进程上。由于某种原因,这个进程干扰了环境,导致 Python 解释器的行为变得不同。我怀疑这个 win32 错误实际上是一个访问违规。

1 个回答

0

这个应用程序在普通用户下运行得很好。但是,当它作为系统进程启动时,就无法调用文本转语音功能了。

撰写回答