EndDialog 函式 (winuser.h)

終結強制回應對話框,導致系統結束對話框的任何處理。

語法

BOOL EndDialog(
  [in] HWND    hDlg,
  [in] INT_PTR nResult
);

參數

[in] hDlg

類型: HWND

要終結之對話框的句柄。

[in] nResult

類型: INT_PTR

要從建立對話框的函式傳回給應用程式的值。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

DialogBox、DialogBoxParamDialogBoxIndirect 和 DialogBoxIndirectParam 函式所建立的對話框必須使用 EndDialog 函式終結。 應用程式會從對話框程式內呼叫 EndDialog ;函式不得用於任何其他用途。

對話框程式可以隨時呼叫 EndDialog ,即使在處理 WM_INITDIALOG 訊息期間也一樣。 如果您的應用程式在處理 WM_INITDIALOG 時呼叫函式,則會在顯示對話框和設定輸入焦點之前先終結。

EndDialog 不會立即終結對話框。 相反地,它會設定旗標,並允許對話框程式將控制權傳回系統。 系統會先檢查 旗標,再嘗試從應用程式佇列擷取下一則訊息。 如果設定旗標,系統會結束訊息循環、終結對話框,並使用 nResult 中的值作為建立對話方塊之函式的傳回值。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-dialogbox-l1-1-0 (在 Windows 8) 中引進

另請參閱

概念

對話框

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

參考

WM_INITDIALOG