Python编程中遇到一个需求:d出一个消息框,供用户选择,等待数秒后,用户没有 *** 作,这个d出的消息框自动消失,继续执行代码。
我看到网上也有人在询问这个如何d出延时消息框的问题。
我们知道,windows系统 API 函数里有一个未公开MessageBoxTimeout函数,就能够实现上面的需求。如何在Python中直接调用它呢?
我查阅资料,找到了使用方法,现分享如下:
import win32gui,win32API,win32conimport ctypesret = ctypes.windll.user32. MessageBoxTimeoutW(0,'请问你需要擦皮鞋吗?','询问',win32con.MB_YESNO,0,3000)if ret==6: print('用户选择了是')elif ret==7: print('用户选择了否')else: print(f'用户没有在5秒内作出选择,返回默认值{ret}')
windows系统的User32.dll库内有两个延时自动关闭d出消息框函数,名称分别为 MessageBoxTimeoutA 和 MessageBoxTimeoutW (注意字母大小写不能错),第一个仅适用英文 *** 作系统,第二个适用所有语言 *** 作系统。我们用第二个MessageBoxTimeoutW,不要用第一个,否则消息框有中文显示乱码。
MessageBoxTimeoutW函数调用方法如下:
MessageBoxTimeoutW(父窗口句柄,消息内容,标题,按钮,语言ID,等待时间)
父窗口句柄一般设为0
按钮使用win32con提供的常量,不用记忆
语言ID,我也不太懂有什么大用,都是设为0
等待时间单位为毫秒
总结
以上是内存溢出为你收集整理的Python调用Windows系统API库中的MessageBoxTimeout延时自动关闭d出消息框函数全部内容,希望文章能够帮你解决Python调用Windows系统API库中的MessageBoxTimeout延时自动关闭d出消息框函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)