gpt4 book ai didi

inno-setup - 如何在指定时间内显示消息框?

转载 作者:行者123 更新时间:2023-12-04 13:39:55 27 4
gpt4 key购买 nike

有没有办法在指定的时间内显示消息框(这意味着,当指定的时间过去后,消息框将自行关闭)?

最佳答案

Windows API 具有在指定时间显示消息框的功能,但由于某种原因,该功能没有记录,这意味着它不受官方支持,很可能会发生变化。

该函数名为 MessageBoxTimeout ,它甚至在 user32.dll 有导出library,让我觉得这个功能唯一缺少的就是官方文档。但谁知道...

以下脚本显示了如何在显示向导表单之前显示消息框 5 秒钟。如果用户没有单击 OK 按钮,也没有手动关闭窗口,则消息框会在 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, 0, 5000);
end;

有关参数和结果值的更多信息,请参阅 MessageBox 功能帮助站点和一些描述 MessageBoxTimeout 的非官方文章函数本身,例如:
  • Maurizio Pisano: MessageBoxTimeout API (CodeProject)
  • Eddie Shipman: Undocumented MessageBoxTimeOut function (Embarcadero)
  • 关于inno-setup - 如何在指定时间内显示消息框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816881/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com