#include-once #include For $i = 1 to 100 Msgbox_new(0, "Title", "Number = "&$i, 0) Sleep(1) Next Msgbox_new(0, "Title", "Number = 101", 1, -1) Func Msgbox_new($style=0, $title="", $message="", $control_wait = 1 , $timeout = 2000 , $thread_wait_show = 0) Local $MessageAddress = DllCall("Kernel32.dll", "ptr", "GetProcAddress", "ptr", _WinAPI_GetModuleHandle("user32.dll"), "str", "MessageBoxW") $MessageAddress = $MessageAddress[0] Global $ptr_in_a = DllStructCreate("wchar a[65535];") Global $ptr_in_b = DllStructCreate("wchar a[65535];") $ptr_in_a.a = $message $ptr_in_b.a = $title Local $opcode = binary("0x" & _ "68" & Hex(BinaryMid($style,1,4)) & _ "68" & Hex(BinaryMid(DllStructGetPtr($ptr_in_b),1,4)) & _ "68" & Hex(BinaryMid(DllStructGetPtr($ptr_in_a),1,4)) & _ "6800000000" & _ "B8" & Hex(BinaryMid($MessageAddress, 1, 4)) & _ "FFD0" & _ "C3") Local $result = Thread_Call($opcode , $control_wait , $timeout , $thread_wait_show ) EndFunc