6.19 消息框、弹窗:pywin32
说明:
pywin32是一个第三方模块库,主要的作用是方便Python开发者快速调用windows API的一个模块库。同时pywin32也是一些windows上第三方Python模块库的前提,例如wmi,如果没有安装pywin32是无法正常使用wmi这个三方模块库的。pywin32中包含3个比较实用的库:
win32api:
win32api模块内定义了常用的一些API函数,例如MessageBox。
win32gui:
定义了一些有关图形操作的API,例如FindWindow。
win32con:
这个模块内定义了windows API内的宏,例如MessageBox内的MB_OK
安装:
pip install pywin32==223
说明:切记安装这个版本的pywin32,224,225版本会报错。
使用
import win32api
import win32con
函数的一般形式
<整型> return = win32api.MessageBox(0,<字符串> Text, <字符串> Title, <整型> nType)
说明:弹出一个消息框
参数:
0:窗口句柄,只能为0。
Text:消息框的正文
Title:消息框的标题
nType:消息框的类型
return:用户操作消息框的返回值
其中nType对应的对话框如下表所示:
WIN32CON.MB_OK = 0
WIN32CON.MB_OKCANCEL = 1
WIN32CON.MB_ABORTRETRYIGNORE = 2
WIN32CON.MB_YESNOCANCEL = 3
WIN32CON.MB_YESNO = 4
WIN32CON.MB_RETRYCANCEL = 5
WIN32CON.MB_ICONHAND = 16
WIN32CON.MB_ICONQUESTION = 32
WIN32CON.MB_ICONEXCLAMATION = 48
WIN32CON.MB_ICONASTERISK = 64
WIN32CON.MB_ICONWARNING = WIN32CON.MB_ICONEXCLAMATION
WIN32CON.MB_ICONERROR = WIN32CON.MB_ICONHAND
WIN32CON.MB_ICONINFORMATION = WIN32CON.MB_ICONASTERISK
WIN32CON.MB_ICONSTOP = WIN32CON.MB_ICONHAND
WIN32CON.MB_DEFBUTTON1 = 0
WIN32CON.MB_DEFBUTTON2 = 256
WIN32CON.MB_DEFBUTTON3 = 512
WIN32CON.MB_DEFBUTTON4 = 768
WIN32CON.MB_APPLMODAL = 0
WIN32CON.MB_SYSTEMMODAL = 4096
WIN32CON.MB_TASKMODAL = 8192
WIN32CON.MB_HELP = 16384
WIN32CON.MB_NOFOCUS = 32768
WIN32CON.MB_SETFOREGROUND = 65536
WIN32CON.MB_DEFAULT_DESKTOP_ONLY = 131072
WIN32CON.MB_TOPMOST = 262144
WIN32CON.MB_RIGHT = 524288
WIN32CON.MB_RTLREADING = 1048576
WIN32CON.MB_SERVICE_NOTIFICATION = 2097152
WIN32CON.MB_TYPEMASK = 15
WIN32CON.MB_USERICON = 128
WIN32CON.MB_ICONMASK = 240
WIN32CON.MB_DEFMASK = 3840
WIN32CON.MB_MODEMASK = 12288
WIN32CON.MB_MISCMASK = 49152
返回值对应的值如下:
1: 确定
2: 取消
3: 终止
4: 重试
5: 忽略
6: 是
7: 否
10:再试一次
实例1
k = win32api.MessageBox(0, “这是一个测试提醒OK消息框”, “提醒”, win32con.MB_OK)
显示:
作用:仅作为提醒。
实例2
k = win32api.MessageBox(0, “这是一个测试是否信息框”, “提醒”, win32con.MB_YESNO)
显示:
作用:提供用户选择是或否,再根据用户的选择进行不同的处理。
实例3
k = win32api.MessageBox(0, “这是一个测试说明信息框”, “提醒”, win32con.MB_HELP)
显示:
作用:显示确定和帮助。点帮助什么也不会出来。因为没有设置。
实例4
k = win32api.MessageBox(0, “这是一个测试警告信息框”, “提醒”, win32con.MB_ICONWARNING)
显示:
作用:弹出一个警告框,并且带有警告标志