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. |
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.
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)