首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不暂停正在运行的程序的情况下使用python发出警报?

如何在不暂停正在运行的程序的情况下使用python发出警报?
EN

Stack Overflow用户
提问于 2018-07-24 04:04:14
回答 1查看 464关注 0票数 1

我有一个Python语言的程序,当我用win32api.py发出警报时,正在运行的程序暂停了,我如何让它在警报启动的情况下继续工作?

以下是代码示例:

代码语言:javascript
复制
time.sleep(3)

win32api.MessageBox(0,'hello','text')

time.sleep(3)

os.system("TASKKILL /F /IM program.exe")

现在说到win32api.Mes..。part it会暂停程序,直到我单击"OK",如何防止它暂停?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 04:19:07

正如MSDN文档所解释的那样,MessageBox

将显示一个模式对话框,其中包含一个系统图标、一组按钮和一条简短的特定于应用程序的消息,如状态或错误信息。消息框返回一个整数值,该值指示用户单击了哪个按钮。

A dialog box的目的是阻止你的程序,直到它被处理。这就是它的意思:它使你的程序进入一种特殊的“等待用户”模式。

此外,它显然不能返回用户单击的内容,除非它等到用户单击某些内容时才返回。

如果你真的想使用MessageBox,你可以把剩下的工作推到另一个线程上,就像这样:

代码语言:javascript
复制
def background():
    time.sleep(3)
    os.system("TASKKILL /F /IM program.exe")
t = threading.Thread(target=background)
t.start()

time.sleep(3)
win32api.MessageBox(0,'hello','text')

或者,您也可以使用create a modeless dialog,但这需要将程序的其余部分与win32api事件循环集成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51486456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档