99#include < GUIConstantsEx.au3>
1010#include " ..\NetWebView2Lib.au3"
1111
12- Main ()
12+ _Main ()
1313
14- Func Main ()
14+ Func _Main ()
1515 ; --- Main GUI Setup ---
1616 Local $hMainGUI = GUICreate (" Multi-WebView2 v2.0.0 Standard" , 1000 , 600 , - 1 , - 1 , BitOR ($WS_OVERLAPPEDWINDOW , $WS_CLIPCHILDREN ))
1717 GUISetState (@SW_SHOW , $hMainGUI )
@@ -41,31 +41,17 @@ Func Main()
4141 ; CleanUp
4242 _NetWebView2_CleanUp($oWeb_1 , $oBridge_1 )
4343; ~ _NetWebView2_CleanUp($oWeb_2, $oBridge_2)
44- EndFunc ; ==>Main
44+ EndFunc ; ==>_Main
4545
4646; ==============================================================================
4747; UPDATED HELPERS
4848; ==============================================================================
4949
50- Func UpdateWebUI ($oManager , $sElementId , $sNewText )
50+ Func _UpdateWebUI ($oManager , $sElementId , $sNewText )
5151 If Not IsObj ($oManager ) Then Return
5252 Local $sJS = StringFormat (" document.getElementById('%s').innerText = '%s';" , $sElementId , $sNewText )
5353 _NetWebView2_ExecuteScript($oManager , $sJS , $NETWEBVIEW2_EXECUTEJS_MODE0_FIREANDFORGET )
54- EndFunc ; ==>UpdateWebUI
55-
56- Func _NetWebView2_BrowserSetupWrapper($hOuterParentWindow , ByRef $oOuterWeb , $sEventPrefix , $sProfile , ByRef $oOuterBridge , ByRef $hInnerWebViewWindow , $iX , $iY , $iW , $iH , $s_AddBrowserArgs )
57- $hInnerWebViewWindow = GUICreate (" " , $iW , $iH , $iX , $iY , $WS_CHILD , - 1 , $hOuterParentWindow )
58- GUISetState (@SW_SHOW , $hInnerWebViewWindow )
59-
60- $oOuterWeb = _NetWebView2_CreateManager(" " , $sEventPrefix & ' _Manager__' , $s_AddBrowserArgs )
61- If @error Then Return SetError (@error , @extended , $oOuterWeb )
62-
63- Local $Result = _NetWebView2_Initialize($oOuterWeb , $hInnerWebViewWindow , $sProfile , 0 , 0 , $iW , $iH )
64- If @error Then Return SetError (@error , @extended , $Result )
65-
66- $oOuterBridge = _NetWebView2_GetBridge($oOuterWeb , $sEventPrefix & " _Bridge__" )
67- If @error Then Return SetError (@error , @extended , $oOuterBridge )
68- EndFunc ; ==>_NetWebView2_BrowserSetupWrapper
54+ EndFunc ; ==>_UpdateWebUI
6955
7056Func _GetDemoHTML($sTitle )
7157 Return ' <html><title>Simple GUI</title><head><style>' & _
@@ -86,36 +72,41 @@ EndFunc ;==>_GetDemoHTML
8672
8773#Region ; USER DEFINED EVENTS HANDLER FUNCTION
8874; BROWSER 1 - Manager Events
89- Func __UserEventHandler_Web1__Manager__OnMessageReceived($oWebView , $hGUI , $sMsg )
90- #forceref $hGUI
91- ConsoleWrite (" - [Browser 1]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ) & @CRLF )
75+ Func __UserEventHandler_Web1__Manager__OnMessageReceived($oWebView , $hWindow , $sMsg )
76+ #forceref $hWindow
77+ ConsoleWrite (" >> [Browser 1]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ) & @CRLF )
9278 If $sMsg = " INIT_READY" Then
9379 _NetWebView2_ExecuteScript($oWebView , ' window.chrome.webview.postMessage(JSON.stringify({ "type": "COM_TEST", "status": "OK" }));' , $NETWEBVIEW2_EXECUTEJS_MODE0_FIREANDFORGET )
9480 EndIf
9581EndFunc ; ==>__UserEventHandler_Web1__Manager__OnMessageReceived
9682
9783; BROWSER 1 - JavaScript Bridge Events
98- Func __UserEventHandler_Web1__Bridge__OnMessageReceived($oWebView , $hGUI , $sMsg )
84+ Func __UserEventHandler_Web1__Bridge__OnMessageReceived($oWebView , $hWindow , $sMsg )
9985 Local Static $iMsgCnt = - 1
10086 ConsoleWrite (" >> [JS 1]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ) & @CRLF )
10187
10288 If $sMsg = " CLOSE_APP" Then
103- If MsgBox (36 , " Confirm" , " Close this Browser Instance?" , 0 , $hGUI ) = 6 Then
89+ If MsgBox (36 , " Confirm" , " Close this Browser Instance?" , 0 , $hWindow ) = 6 Then
10490 $oWebView .Cleanup()
105- GUIDelete ($hGUI )
91+ GUIDelete ($hWindow )
10692 ConsoleWrite (" !> Browser 1 has been shut down." & @CRLF )
10793 EndIf
10894 Else
10995 $iMsgCnt += 1
110- UpdateWebUI($oWebView , " mainTitle" , " Counter: " & $iMsgCnt )
111- UpdateWebUI($oWebView , " statusMsg" , " Last Message: " & $sMsg )
96+ _UpdateWebUI($oWebView , " mainTitle" , " Counter: " & $iMsgCnt )
97+ _UpdateWebUI($oWebView , " statusMsg" , " Last Message: " & $sMsg )
98+ If $sMsg = " PING" Then
99+ GUISetState (@SW_HIDE , $hWindow )
100+ Sleep (200 )
101+ GUISetState (@SW_SHOW , $hWindow )
102+ EndIf
112103 EndIf
113104EndFunc ; ==>__UserEventHandler_Web1__Bridge__OnMessageReceived
114105
115106; BROWSER 2 - Manager Events
116- Func __UserEventHandler_Web2__Manager__OnMessageReceived($oWebView , $hGUI , $sMsg )
117- #forceref $hGUI
118- ConsoleWrite (" - [Browser 2]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ) & @CRLF )
107+ Func __UserEventHandler_Web2__Manager__OnMessageReceived($oWebView , $hWindow , $sMsg )
108+ #forceref $hWindow
109+ ConsoleWrite (" >> [Browser 2]: " & (StringLen ($sMsg ) > 150 ? StringLeft ($sMsg , 150 ) & " ..." : $sMsg ) & @CRLF )
119110 If $sMsg = " INIT_READY" Then
120111 _NetWebView2_ExecuteScript($oWebView , ' window.chrome.webview.postMessage(JSON.stringify({ "type": "COM_TEST", "status": "OK" }));' , $NETWEBVIEW2_EXECUTEJS_MODE0_FIREANDFORGET )
121112 EndIf
@@ -134,8 +125,13 @@ Func __UserEventHandler_Web2__Bridge__OnMessageReceived($oWebView, $hWindow, $sM
134125 EndIf
135126 Else
136127 $iMsgCnt += 1
137- UpdateWebUI($oWebView , " mainTitle" , " Counter: " & $iMsgCnt )
138- UpdateWebUI($oWebView , " statusMsg" , " Last Message: " & $sMsg )
128+ _UpdateWebUI($oWebView , " mainTitle" , " Counter: " & $iMsgCnt )
129+ _UpdateWebUI($oWebView , " statusMsg" , " Last Message: " & $sMsg )
130+ If $sMsg = " PING" Then
131+ GUISetState (@SW_HIDE , $hWindow )
132+ Sleep (200 )
133+ GUISetState (@SW_SHOW , $hWindow )
134+ EndIf
139135 EndIf
140136EndFunc ; ==>__UserEventHandler_Web2__Bridge__OnMessageReceived
141137#EndRegion ; USER DEFINED EVENTS HANDLER FUNCTION
0 commit comments