Поделиться через


функция обратного вызова PWLX_MESSAGE_BOX (winwlx.h)

[Функция WlxMessageBox больше не доступна для использования в Windows Server 2008 и Windows Vista.]

Функция WlxMessageBox вызывается GINA для создания, отображения и работы окна сообщения.

Примечание Библиотеки DLL GINA игнорируются в Windows Vista.
 

Синтаксис

PWLX_MESSAGE_BOX PwlxMessageBox;

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

Параметры

[in] hWlx

Указывает дескриптор Winlogon , переданный в GINA в вызове WlxInitialize .

[in] hwndOwner

Указывает окно владельца создаваемого окна сообщения. Если этот параметр имеет значение NULL, окно сообщения не имеет окна владельца.

[in] lpszText

Указывает на строку, завершающуюся нулевым значением, которая содержит отображаемое сообщение.

[in] lpszTitle

Указывает на строку, завершаемую null, которая используется для заголовка диалогового окна. Если этот параметр имеет значение NULL, используется название по умолчанию Error.

[in] fuStyle

Задает содержимое и поведение диалогового окна. Этот параметр может быть сочетанием следующих значений.

Значение Значение
MB_ABORTRETRYIGNORE
Окно сообщения содержит три кнопки: "Прервать", "Повторить" и "Пропустить".
MB_APPLMODAL
Пользователь должен ответить на окно сообщения, прежде чем продолжить работу в окне, определяемом параметром hWndOwner . Однако пользователь может перейти в окна других приложений для работы.

В зависимости от иерархии окон в приложении пользователь может перейти к другим окнам в приложении. Все дочерние окна родительского окна окна сообщения автоматически отключаются, а всплывающие окна — нет.

MB_APPLMODAL — это значение по умолчанию, если не указано ни MB_SYSTEMMODAL, ни MB_TASKMODAL.

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
Окно сообщения содержит три кнопки: Да, Нет и Отмена.

Возвращаемое значение

Если функция завершается сбоем или недостаточно памяти для создания окна сообщения, возвращаемое значение равно нулю.

Если функция выполняется успешно, возвращаемое значение будет одним из следующих значений пунктов меню, возвращаемых диалоговым окном.

Примечание Если в окне сообщения есть кнопка Отмена , функция возвращает значение IDCANCEL при нажатии клавиши ESC или нажатии кнопки Отмена . Если в окне сообщения нет кнопки Отмена , нажатие клавиши ESC не оказывает никакого влияния.
 
Код возврата Описание
IDABORT
Выбрана кнопка прерывания.
IDCANCEL
Кнопка "Отмена" была выбрана.
IDIGNORE
Кнопка "Пропустить" была выбрана.
IDNO
Кнопка не была выбрана.
IDOK
Выбрана кнопка ОК.
IDRETRY
Выбрана кнопка "Повторить".
IDYES
Выбрана кнопка "Да ".

Комментарии

Функция WlxMessageBox не обрабатывает события SAS и не подходит для диалоговых окон безопасности. Используйте функцию WlxDialogBox, WlxDialogBoxIndirect или WlxDialogBoxIndirectParam для диалоговых окон безопасности.

WlxMessageBox дублирует функцию Windows MessageBox , за исключением того, что эта функция также позволяет Winlogon истекать время ожидания диалогового окна. Дополнительные сведения см. в разделе MessageBox.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winwlx.h

См. также раздел

Messagebox

SetForegroundWindow

WlxDialogBox

WlxDialogBoxIndirect

WlxDialogBoxIndirectParam

WlxInitialize