Hi,
I've encountered a problem while I tried to close popup in application that is using embeded GUI object. If site has function "onbeforeunload" asking if you really want to exit you will get a popup. In embeded gui object it completly freezes functions and I can't click/close/do anything. I've created sample code with microsoft function example and in external window. Any idea how to close popup in GUI embeded IE? I've tried navigating using _IENavigate($oIE, $sURL, 0) or changing focus _IEaction($oIE,"focus") but nothing works.
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <IE.au3>
HotKeySet("{F1}", "myExit")
;GUI setup
$GUI_main = GUICreate("Menu", 800, 800, -1, -1)
Global $oIE =_IECreateEmbedded()
$ObjectIE = GUICtrlCreateObj($oIE, 0, 30, 800, 770)
$cButton1 = GUICtrlCreateButton("Start test inside GUI window", 0, 0, 400, 30)
$cButton2 = GUICtrlCreateButton("Start test outside GUI window", 400, 0, 400, 30)
GUISetState(@SW_SHOW, $GUI_main)
;GUI
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_main
Case $ObjectIE
Case $cButton1
fTestFunction1()
Case $cButton2
fTestFunction2()
EndSwitch
WEnd
;function inside GUI
Func fTestFunction1()
Local $sURL = "http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/onbeforeunload.htm"
$oIE.Navigate($sURL)
_IELoadWait($oIE)
$oIE.Navigate("https://www.google.com")
MsgBox($MB_TOPMOST, "", "should appear while question box opened", 2)
Sleep(2500)
Send("!o")
EndFunc
;function outside GUI
Func fTestFunction2()
Local $sURL = "http://samples.msdn.microsoft.com/workshop/samples/author/dhtml/refs/onbeforeunload.htm"
$oSecondIE = _IECreate ($sURL)
_IELoadWait($oSecondIE)
$oSecondIE.Navigate("https://www.google.com")
MsgBox($MB_TOPMOST, "", "should appear while question box opened", 2)
Sleep(2500)
Send("!o")
EndFunc
;shortcut to exit
Func myExit()
GUIDelete($GUI_main)
Exit
EndFunc