Function Reference


Creates, displays, and operates a message box

#include <WinAPIDlg.au3>
_WinAPI_MessageBoxIndirect ( $tMSGBOXPARAMS )


$tMSGBOXPARAMS $tagMSGBOXPARAMS structure that contains information used to display the message box.

Return Value

Success: One of the $ID* constants.
Failure: 0.


When you use a system-modal message box to indicate that the system is low on memory, the strings pointed to by the
"Text" and "Caption" members of the $tagMSGBOXPARAMS structure should not be taken from a resource file, because
an attempt to load the resource may fail.

If you create a message box while a dialog box is present, use a handle to the dialog box as the hWnd parameter.
The hWnd parameter should not identify a child window, such as a control in a dialog box.

See Also

Search MessageBoxIndirect in MSDN Library.


#include <MsgBoxConstants.au3>
#include <WinAPIDlg.au3>
#include <WinAPISys.au3>

Local Const $sTitle = 'Message'
Local Const $sText = 'This is a simple message box with a custom icon.'

Local $tMBP = DllStructCreate($tagMSGBOXPARAMS & ';wchar szCaption[' & (StringLen($sTitle) + 1) & '];wchar szText[' & (StringLen($sText) + 1) & ']')
DllStructSetData($tMBP, 'Size', DllStructGetPtr($tMBP, 'szCaption') - DllStructGetPtr($tMBP))
DllStructSetData($tMBP, 'hOwner', 0)
DllStructSetData($tMBP, 'hInstance', _WinAPI_GetModuleHandle(@SystemDir & '\shell32.dll'))
DllStructSetData($tMBP, 'Text', DllStructGetPtr($tMBP, 'szText'))
DllStructSetData($tMBP, 'Caption', DllStructGetPtr($tMBP, 'szCaption'))
DllStructSetData($tMBP, 'Style', BitOR($MB_OKCANCEL, $MB_USERICON))
DllStructSetData($tMBP, 'Icon', 239)
DllStructSetData($tMBP, 'ContextHelpId', 0)
DllStructSetData($tMBP, 'MsgBoxCallback', 0)
DllStructSetData($tMBP, 'LanguageId', 0)
DllStructSetData($tMBP, 'szCaption', $sTitle)
DllStructSetData($tMBP, 'szText', $sText)

Local $iResult = _WinAPI_MessageBoxIndirect($tMBP)

ConsoleWrite('Return: ' & $iResult & @CRLF)