Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中的不同线程中启动win32应用程序
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>因此,我有以下代码片段,它试图通过win32api启动Microsoft Powerpoint:</p> <pre><code>import threading import win32com.client import sys class myDemo(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): try: myObject = win32com.client.Dispatch("Powerpoint.Application") print "OK" except: print "Failed to start Powerpoint!" sys.exit(1) print "Now attempting to shutdown..." try: myObject.quit() except: print "Error" if __name__ == "__main__": test = myDemo() test.start() </code></pre> <p>问题是它失败了,我不知道为什么。 但是,如果我将最后一行改为<code>test.run()</code>,它将成功启动。 那么,为什么这是失败的<code>test.start()</code>?在</p> <p>为什么会发生这种情况?考虑到我需要Powerpoint在一个独立的线程上异步运行,我应该如何解决它?在</p> <p>提前谢谢。在</p> <p>编辑:显然我的问题与此有关:<a href="http://python.6.x6.nabble.com/Dispatch-error-CoInitialize-has-not-been-called-td1951088.html" rel="nofollow">http://python.6.x6.nabble.com/Dispatch-error-CoInitialize-has-not-been-called-td1951088.html</a></p> <p>然而,除了提出的正确的解决方案之外,似乎没有人能够回答COM为什么会这样。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>好吧,我想我找到了一个答案,但我还不确定它为什么有用。。在</p> <p>如果我从页面顶部剪切并粘贴这一行<code>import win32com.client</code>就在我分发microsoft powerpoint的try块内,则应用程序成功运行。在</p> <p>但是,我还是不知道为什么。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
5 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
2 回答
无法使用Django1.6导入名称模式
4 回答
无法使用Django1.7和mongodb登录管理站点
6 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
7 回答
无法使用Djangockedi验证CBV中的字段
6 回答
无法使用Djangocketditor上载图像(错误400)
4 回答
无法使用Djangocron进行函数调用
9 回答
无法使用Djangofiler djang上载文件
10 回答
无法使用Djangokronos
6 回答
无法使用Djangomssql provid
2 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
3 回答
无法使用Djangomssq迁移Django数据库
5 回答
无法使用Djangonox创建用户
3 回答
无法使用Djangopyodb从Django查询SQL Server
5 回答
无法使用Djangopython3ldap连接到ldap
5 回答
无法使用Djangoredis连接到redis
10 回答
无法使用Django中的FK创建新表
5 回答