inno-setup – 如何在指定时间内显示消息框?
发布时间:2020-12-15 10:07:03 所属栏目:大数据 来源:网络整理
导读:有没有办法在指定的时间内显示一个消息框(这意味着,当指定的时间过去时,消息框将自动关闭)? 解决方法 Windows API具有在指定时间内显示消息框的功能,但由于某种原因,该功能未记录,这意味着它没有得到官方支持,可能会有所变化. 该函数被称为MessageBoxTimeou
有没有办法在指定的时间内显示一个消息框(这意味着,当指定的时间过去时,消息框将自动关闭)?
解决方法
Windows API具有在指定时间内显示消息框的功能,但由于某种原因,该功能未记录,这意味着它没有得到官方支持,可能会有所变化.
该函数被称为MessageBoxTimeout,它甚至在user32.dll库中导出,让我觉得这个函数唯一缺少的是官方文档.但是谁知道…… 以下脚本显示如何在显示向导表单之前显示消息框5秒.如果用户未单击“确定”按钮,也不手动关闭窗口,则在该5秒时间过后,消息框将自动关闭: [Code] #ifdef UNICODE #define AW "W" #else #define AW "A" #endif const MB_TIMEDOUT = 32000; MB_ICONERROR = $10; MB_ICONQUESTION = $20; MB_ICONWARNING = $30; MB_ICONINFORMATION = $40; function MessageBoxTimeout(hWnd: HWND; lpText: string; lpCaption: string; uType: UINT; wLanguageId: Word; dwMilliseconds: DWORD): Integer; external 'MessageBoxTimeout{#AW}@user32.dll stdcall'; procedure InitializeWizard; begin MessageBoxTimeout(WizardForm.Handle,'This message will be automatically ' + 'closed in 5 seconds!','Caption...',MB_OK or MB_ICONINFORMATION,5000); end; 有关参数和结果值的更多信息,请参阅 > Maurizio Pisano: MessageBoxTimeout API (CodeProject) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |