一个好玩的API函数MessageBoxTimeout,可控制消息框自动关闭

今天去查了资料如何自动关闭弹出的消息框,不少网友给出的办法是另外使用一个线程来控制,个人觉得麻烦了


最后终于找到了这个函数(在易语言论坛发现的。)


简单说一下MessageBoxTimeOut函数Windows 2000没有这个函数):

hwnd:窗口句柄

lpText:弹出消息框的内容

lpCaption:弹出消息框的标题

uType:按钮类型,以下给出常量,可相加,每组只能取一个类型,第五组除外,复制于易语言给出的提示,:

第一组(描述对话框中显示按钮的类型与数目):
    0、#确认钮; 1、#确认取消钮; 2、#放弃重试忽略钮; 3、#取消是否钮;     4、#是否钮; 5、#重试取消钮
第二组(描述图标的样式):
    16、#错误图标; 32、#询问图标; 48、#警告图标; 64、#信息图标
第三组(说明哪一个按钮是缺省默认值):
    0、#默认按钮一; 256、#默认按钮二; 512、#默认按钮三; 768、#默认按钮四
第四组(决定如何等待消息框结束):
    0、#程序等待; 4096、#系统等待
第五组(其它):
    65536、#位于前台; 524288、#文本右对齐

wLanguageId:语言ID,默认写0就可以了

dwMilliseconds:等待时间,单位毫秒,3秒后关闭就写3000


C++的:

int WINAPI MessageBoxTimeoutA(IN HWND hWnd, IN LPCSTR lpText, IN LPCSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds);
int WINAPI MessageBoxTimeoutW(IN HWND hWnd, IN LPCWSTR lpText, IN LPCWSTR lpCaption, IN UINT uType, IN WORD wLanguageId, IN DWORD dwMilliseconds);


VB的:

Private Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long


易语言的:

.版本 2

.DLL命令 MessageBoxTimeout, 整数型, "user32.dll", "MessageBoxTimeoutA"
    .参数 hwnd, 整数型, , 窗口句柄
    .参数 lpText, 文本型, , 消息框内容
    .参数 lpCaption, 文本型, , 消息框标题
    .参数 uType, 整数型, , 消息框按钮类型,确认按钮、重试按钮之类
    .参数 wlange, 整数型, , 一般为0,语言ID
    .参数 dwTimeout, 整数型, , 延迟的时间 ,以毫秒为单位

你可能感兴趣的:(一个好玩的API函数MessageBoxTimeout,可控制消息框自动关闭)