PWLX_MESSAGE_BOX回调函数 (winwlx.h)

[自 Windows Server 2008 和 Windows Vista 起,WlxMessageBox 函数不再可供使用。]

GINA 调用 WlxMessageBox 函数来创建、显示和操作消息框。

注意 在 Windows Vista 中忽略 GINA DLL。
 

语法

PWLX_MESSAGE_BOX PwlxMessageBox;

int PwlxMessageBox(
  [in] HANDLE hWlx,
  [in] HWND hwndOwner,
  [in] LPWSTR lpszText,
  [in] LPWSTR lpszTitle,
  [in] UINT fuStyle
)
{...}

参数

[in] hWlx

指定在 WlxInitialize 调用中传递给 GINA 的 Winlogon 句柄。

[in] hwndOwner

指定要创建的消息框的所有者窗口。 如果此参数为 NULL,则消息框没有所有者窗口。

[in] lpszText

指向包含要显示的消息的以 null 结尾的字符串。

[in] lpszTitle

指向用于对话框标题的以 null 结尾的字符串。 如果此参数为 NULL,则使用默认标题 Error。

[in] fuStyle

指定对话框的内容和行为。 此参数可以是以下值的组合。

含义
MB_ABORTRETRYIGNORE
消息框包含三个命令按钮: “中止”、“ 重试”“忽略”。
MB_APPLMODAL
用户必须先响应消息框,然后才能继续在 hWndOwner 参数标识的窗口中工作。 但是,用户可以移动到其他应用程序的窗口才能工作。

根据应用程序中窗口的层次结构,用户可能能够移动到应用程序中的其他窗口。 将自动禁用消息框父级的所有子窗口,但弹出窗口不会禁用。

如果既未指定MB_SYSTEMMODAL,也未指定MB_TASKMODAL,则MB_APPLMODAL为默认值。

MB_DEFAULT_DESKTOP_ONLY
当前接收输入的桌面必须是默认桌面;否则,函数将失败。 默认桌面是在用户登录后运行应用程序的桌面。
MB_DEFBUTTON1
第一个按钮是默认按钮。 请注意,除非指定了MB_DEFBUTTON2或MB_DEFBUTTON3,否则第一个按钮始终为默认值。
MB_DEFBUTTON2
第二个按钮是默认按钮。
MB_DEFBUTTON3
第三个按钮是默认按钮。
MB_DEFBUTTON4
第四个按钮是默认按钮。
MB_ICONASTERISK
消息框中将显示一个由圆圈中的小写字母组成的图标。
MB_ICONEXCLAMATION
消息框中会显示一个感叹号图标。
MB_ICONHAND
消息框中会显示一个手部图标。
MB_ICONINFORMATION
消息框中将显示一个由圆圈中的小写字母组成的图标。
MB_ICONQUESTION
消息框中会显示一个问号图标。
MB_ICONSTOP
消息框中会显示一个停止标志图标。
MB_OK
消息框包含一个命令按钮: “确定”。
MB_OKCANCEL
消息框包含两个命令按钮: “确定”“取消”。
MB_RETRYCANCEL
消息框包含两个命令按钮: 重试取消
MB_SERVICE_NOTIFICATION
调用方是通知用户某个事件的服务。 函数在当前活动桌面上显示一个消息框,即使没有用户登录到计算机也是如此。
MB_SETFOREGROUND
消息框将成为前台窗口。 在内部,Windows 调用消息框的 SetForegroundWindow 函数。
MB_SYSTEMMODAL
在用户响应消息框之前,所有应用程序都将暂停。 除非应用程序指定MB_ICONHAND,否则消息框在创建后才会变为模式。 因此,所有者窗口和其他窗口继续接收其激活产生的消息。 使用系统模式消息框通知用户出现需要立即注意的严重、可能具有破坏性的错误,例如内存不足。
MB_TASKMODAL
与MB_APPLMODAL相同,只不过,如果 hWndOwner 参数为 NULL,则禁用属于当前任务的所有顶级窗口。 当调用应用程序或库没有可用的窗口句柄,但仍需要阻止输入当前应用程序中其他窗口而不挂起其他应用程序时,请使用此标志。
MB_YESNO
消息框包含两个命令按钮: “是” 和“ ”。
MB_YESNOCANCEL
消息框包含三个命令按钮: “是”、“ ”和 “取消”。

返回值

如果函数失败,或者没有足够的内存来创建消息框,则返回值为零。

如果函数成功,则返回值是对话框返回的以下菜单项值之一。

注意 如果消息框有 “取消 ”按钮,则如果按下 ESC 键或单击“ 取消 ”按钮,函数将返回 IDCANCEL 值。 如果消息框没有 “取消 ”按钮,则按 ESC 不起作用。
 
返回代码 说明
IDABORT
已选择“中止”按钮。
IDCANCEL
已选择“取消”按钮。
IDIGNORE
已选择“忽略”按钮。
IDNO
未选择按钮。
IDOK
已选择“确定”按钮。
IDRETRY
已选择“重试”按钮。
IDYES
已选择“”按钮。

注解

WlxMessageBox 函数不处理 SAS 事件,不适用于安全对话框。 对安全对话框使用 WlxDialogBoxWlxDialogBoxIndirectWlxDialogBoxIndirectParam 函数。

WlxMessageBox 复制 Windows MessageBox 函数,但此函数还允许 Winlogon 超时对话框。 有关详细信息,请参阅 MessageBox

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winwlx.h

另请参阅

MessageBox

SetForegroundWindow

WlxDialogBox

WlxDialogBoxIndirect

WlxDialogBoxIndirectParam

WlxInitialize