Timed MessageBox python

时间:2017-04-16 09:32:19

标签: python user-interface messagebox

如何在python中创建MessageBox(如示例中所示)并在几秒钟后从代码中关闭它?

m= win32gui.MessageBox(None,data, "SnapShot", 0x00000000L) #creating a messagebox with the message and OK button

1 个答案:

答案 0 :(得分:0)

使用Win32 API中的setTimer函数注册一个毫秒后要执行的函数;在注册的功能中,关闭对话框。例如,以下是在1秒后关闭对话框的代码:

from win32 import timer as w32timer

def close_messagebox(*args):
  m.close()

w32timer.setTimer(1000, close_messagebox)

(未经测试的代码)

使用Python的sched模块或threading等其他方法不起作用,因为必须从主线程关闭对话框。使用Windows计时器的想法是使事件在事件循环中发生。