共用方式為


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 鍵就沒有作用。
 
傳回碼 Description
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