MattHiggs Posted October 21, 2021 Share Posted October 21, 2021 Hello all. I, like many of you more likely than not, recently upgraded (if you can call it that 😦) to the windows 11 operating system. Unfortunately, it seems that microsft is offically discontinuing Internet Explorer in windows 11, and since AutoIT's capability to automate the internet uses Internet explorer com objects, I was wondering if there was any official replacement for the IE udf in the works. And if not, then I wanted to discuss other technologies/methods which could be implemented in autoit that would restore the lost capabilities. Thanks. https://www.theverge.com/2021/6/25/22550714/microsoft-windows-11-internet-explorer-disabled Link to comment Share on other sites More sharing options...
Gianni Posted October 21, 2021 Share Posted October 21, 2021 (edited) have you already tried this post? (www.autoitscript.com/forum/topic/204362-microsoft-edge-webview2-embed-web-code-in-your-native-application/) it cannot be considered a replacement for IE, but it could come close; and of course the WebDriver? (www.autoitscript.com/forum/topic/191990-webdriver-udf-w3c-compliant-version-08312021/) P.S. I'm curious to know if the "BrowserControl" remains active on WIN11 (I think I hope so), could you please try to run this script (www.autoitscript.com/forum/topic/186422-who-is-who-a-little-dragdrop-game/) or this other (www.autoitscript.com/forum/topic/206853-aquarium/) on win11 and see if they work? Thanks a lot in advance Edited October 21, 2021 by Chimp  Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
Subz Posted October 21, 2021 Share Posted October 21, 2021 Microsoft intends to support IE mode until 2029 (we use IE mode within Edge Chromium for some legacy software), have AutoIt code that uses a number of IE functions, including IE embedded and everything appears to be working correctly still. Musashi, mLipok and Gianni 1 2 Link to comment Share on other sites More sharing options...
Subz Posted October 21, 2021 Share Posted October 21, 2021 @Chimp Just confirming that both of the scripts you posted worked for me. Windows 11 Enterprise 21H2 (OS Build 22000.176) Danyfirex and Gianni 2 Link to comment Share on other sites More sharing options...
Sergy Posted October 23, 2021 Share Posted October 23, 2021  Windows 11 Pro 21H2 22000.282 - This help example don't work for me: ; Create browser windows with each of the example pages displayed. ; The object variable returned can be used just as the object ; variables returned by _IECreate or _IEAttach #include <IE.au3> Local $oIE_basic = _IE_Example("basic") Local $oIE_form = _IE_Example("form") Local $oIE_table = _IE_Example("table") Local $oIE_frameset = _IE_Example("frameset") Local $oIE_iframe = _IE_Example("iframe") Error message: "C:\Program Files (x86)\AutoIt3\Include\IE.au3" (1943) : ==> The requested action with this object has failed.: $oObject.Focus() $oObject^ ERROR >Exit code: 1 Time: 0.5855  Link to comment Share on other sites More sharing options...
Subz Posted October 23, 2021 Share Posted October 23, 2021 You would have to use _IECreateEmbedded basic example using the _IE_Example and _IECreateEmbedded from the help file. expandcollapse popup; Trap COM errors so that 'Back' and 'Forward' ; outside of history bounds does not abort script ; (expect COM errors to be sent to the console) #include <GUIConstantsEx.au3> #include <IE.au3> #include <WindowsConstants.au3> Local $oIE = _IECreateEmbedded() GUICreate("Embedded Web control Test", 640, 580, _ (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _ $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) GUICtrlCreateObj($oIE, 10, 40, 600, 360) Local $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30) Local $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30) Local $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30) Local $idButton_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30) GUICtrlCreateLabel("Examples", 10, 462, 100, 21) Local $idExamples = GUICtrlCreateCombo("", 110, 460, 300, 25) GUICtrlSetData($idExamples, "basic|form|table|frameset|iframe", "basic") Global $g_idError_Message = GUICtrlCreateLabel("", 100, 500, 500, 30) GUICtrlSetColor(-1, 0xff0000) GUISetState(@SW_SHOW) ;Show GUI __IE_Example(GUICtrlRead($idExamples)) _IEAction($oIE, "stop") ; Waiting for user to close the window While 1 Local $iMsg = GUIGetMsg() Select Case $iMsg = $GUI_EVENT_CLOSE ExitLoop Case $iMsg = $idButton_Home _IENavigate($oIE, "http://www.autoitscript.com") _IEAction($oIE, "stop") _IEAction($oIE, "back") CheckError("Home", @error, @extended) Case $iMsg = $idButton_Back _IEAction($oIE, "back") CheckError("Back", @error, @extended) Case $iMsg = $idButton_Forward _IEAction($oIE, "forward") CheckError("Forward", @error, @extended) Case $iMsg = $idButton_Stop _IEAction($oIE, "stop") CheckError("Stop", @error, @extended) Case $iMsg = $idExamples __IE_Example(GUICtrlRead($idExamples)) EndSelect WEnd GUIDelete() Exit Func CheckError($sMsg, $iError, $iExtended) If $iError Then $sMsg = "Error using " & $sMsg & " button (" & $iExtended & ")" Else $sMsg = "" EndIf GUICtrlSetData($g_idError_Message, $sMsg) EndFunc ;==>CheckError Func __IE_Example($sModule = "basic") Local $sHTML = "" Switch $sModule Case "basic" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("basic")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<a href="http://www.autoitscript.com"><img src="http://www.autoitscript.com/images/logo_autoit_210x72.png" id="AutoItImage" alt="AutoIt Homepage Image" style="background: #204080;"></a>' & @CR $sHTML &= '<p></p>' & @CR $sHTML &= '<div id="line1">This is a simple HTML page with text, links and images.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="line2"><a href="http://www.autoitscript.com">AutoIt</a> is a wonderful automation scripting language.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="line3">It is supported by a very active and supporting <a href="http://www.autoitscript.com/forum/">user forum</a>.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="IEAu3Data"></div>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "table" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=utf-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("table")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '$oTableOne = _IETableGetObjByName($oIE, "tableOne")<br>' & @CR $sHTML &= '<table border=1 id="tableOne"><br>' & @CR $sHTML &= '<table border=1 id="tableOne">' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>AutoIt</td>' & @CR $sHTML &= ' <td>is</td>' & @CR $sHTML &= ' <td>really</td>' & @CR $sHTML &= ' <td>great</td>' & @CR $sHTML &= ' <td>with</td>' & @CR $sHTML &= ' <td>IE.au3</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>1</td>' & @CR $sHTML &= ' <td>2</td>' & @CR $sHTML &= ' <td>3</td>' & @CR $sHTML &= ' <td>4</td>' & @CR $sHTML &= ' <td>5</td>' & @CR $sHTML &= ' <td>6</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>quick</td>' & @CR $sHTML &= ' <td>red</td>' & @CR $sHTML &= ' <td>fox</td>' & @CR $sHTML &= ' <td>jumped</td>' & @CR $sHTML &= ' <td>over</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>lazy</td>' & @CR $sHTML &= ' <td>brown</td>' & @CR $sHTML &= ' <td>dog</td>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>time</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>has</td>' & @CR $sHTML &= ' <td>come</td>' & @CR $sHTML &= ' <td>for</td>' & @CR $sHTML &= ' <td>all</td>' & @CR $sHTML &= ' <td>good</td>' & @CR $sHTML &= ' <td>men</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>to</td>' & @CR $sHTML &= ' <td>come</td>' & @CR $sHTML &= ' <td>to</td>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>aid</td>' & @CR $sHTML &= ' <td>of</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '$oTableTwo = _IETableGetObjByName($oIE, "tableTwo")<br>' & @CR $sHTML &= '<table border="1" id="tableTwo"><br>' & @CR $sHTML &= '<table border=1 id="tableTwo">' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td colspan="4">Table Top</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>One</td>' & @CR $sHTML &= ' <td colspan="3">Two</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Three</td>' & @CR $sHTML &= ' <td>Four</td>' & @CR $sHTML &= ' <td colspan="2">Five</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Six</td>' & @CR $sHTML &= ' <td colspan="3">Seven</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Eight</td>' & @CR $sHTML &= ' <td>Nine</td>' & @CR $sHTML &= ' <td>Ten</td>' & @CR $sHTML &= ' <td>Eleven</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "form" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("form")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}' & @CR $sHTML &= 'td {padding:6px}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<form name="ExampleForm" onSubmit="javascript:alert(''ExampleFormSubmitted'');" method="post">' & @CR $sHTML &= '<table style="border-spacing:6px 6px;" border=1>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>ExampleForm</td>' & @CR $sHTML &= '<td><form name="ExampleForm" onSubmit="javascript:alert(''ExampleFormSubmitted'');" method="post"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>Hidden Input Element<input type="hidden" name="hiddenExample" value="secret value"></td>' & @CR $sHTML &= '<td><input type="hidden" name="hiddenExample" value="secret value"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="text" name="textExample" value="http://" size="20" maxlength="30">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="text" name="textExample" value="http://" size="20" maxlength="30"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="password" name="passwordExample" size="10">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="password" name="passwordExample" size="10"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="file" name="fileExample">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="file" name="fileExample"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="image" name="imageExample" alt="AutoIt Homepage" src="http://www.autoitscript.com/images/logo_autoit_210x72.png" style="background: #204080;>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="image" name="imageExample" alt="AutoIt Homepage" src="http://www.autoitscript.com/images/logo_autoit_210x72.png"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<textarea name="textareaExample" rows="5" cols="15">Hello!</textarea>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><textarea name="textareaExample" rows="5" cols="15">Hello!</textarea></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameBasketball">Basketball<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameFootball">Football<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameTennis" checked>Tennis<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameBaseball">Baseball' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="checkbox" name="checkboxG1Example" value="gameBasketball">Basketball<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameFootball">Football<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameTennis" checked>Tennis<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameBaseball">Baseball</td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleAirplane">Airplane<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleTrain" checked>Train<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleBoat">Boat<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleCar">Car</td>' & @CR $sHTML &= '<td><input type="radio" name="radioExample" value="vehicleAirplane">Airplane<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleTrain" checked>Train<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleBoat">Boat<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleCar">Car<br></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<select name="selectExample">' & @CR $sHTML &= '<option value="homepage.html">Homepage' & @CR $sHTML &= '<option value="midipage.html">Midipage' & @CR $sHTML &= '<option value="freepage.html">Freepage' & @CR $sHTML &= '</select>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><select name="selectExample"><br>' & @CR $sHTML &= '<option value="homepage.html">Homepage<br>' & @CR $sHTML &= '<option value="midipage.html">Midipage<br>' & @CR $sHTML &= '<option value="freepage.html">Freepage<br>' & @CR $sHTML &= '</select></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<select name="multipleSelectExample" size="6" multiple>' & @CR $sHTML &= '<option value="Name1">Aaron' & @CR $sHTML &= '<option value="Name2">Bruce' & @CR $sHTML &= '<option value="Name3">Carlos' & @CR $sHTML &= '<option value="Name4">Denis' & @CR $sHTML &= '<option value="Name5">Ed' & @CR $sHTML &= '<option value="Name6">Freddy' & @CR $sHTML &= '</select>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><select name="multipleSelectExample" size="6" multiple><br>' & @CR $sHTML &= '<option value="Name1">Aaron<br>' & @CR $sHTML &= '<option value="Name2">Bruce<br>' & @CR $sHTML &= '<option value="Name3">Carlos<br>' & @CR $sHTML &= '<option value="Name4">Denis<br>' & @CR $sHTML &= '<option value="Name5">Ed<br>' & @CR $sHTML &= '<option value="Name6">Freddy<br>' & @CR $sHTML &= '</select></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input name="submitExample" type="submit" value="Submit">' & @CR $sHTML &= '<input name="resetExample" type="reset" value="Reset">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input name="submitExample" type="submit" value="Submit"><br>' & @CR $sHTML &= '<input name="resetExample" type="reset" value="Reset"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '<input type="hidden" name="hiddenExample" value="secret value">' & @CR $sHTML &= '</form>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "frameset" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("frameset")</title>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<frameset rows="25,200">' & @CR $sHTML &= ' <frame name=Top SRC=about:blank>' & @CR $sHTML &= ' <frameset cols="100,500">' & @CR $sHTML &= ' <frame name=Menu SRC=about:blank>' & @CR $sHTML &= ' <frame name=Main SRC=about:blank>' & @CR $sHTML &= ' </frameset>' & @CR $sHTML &= '</frameset>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) _IEAction($oIE, "refresh") Local $oFrameTop = _IEFrameGetObjByName($oIE, "Top") Local $oFrameMenu = _IEFrameGetObjByName($oIE, "Menu") Local $oFrameMain = _IEFrameGetObjByName($oIE, "Main") _IEBodyWriteHTML($oFrameTop, '$oFrameTop = _IEFrameGetObjByName($oIE, "Top")') _IEBodyWriteHTML($oFrameMenu, '$oFrameMenu = _IEFrameGetObjByName($oIE, "Menu")') _IEBodyWriteHTML($oFrameMain, '$oFrameMain = _IEFrameGetObjByName($oIE, "Main")') Case "iframe" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("iframe")</title>' & @CR $sHTML &= '<style>td {padding:6px}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<table style="border-spacing:6px" border=1>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td><iframe name="iFrameOne" src="about:blank" title="iFrameOne"></iframe></td>' & @CR $sHTML &= '<td><iframe name="iFrameOne" src="about:blank" title="iFrameOne"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td><iframe name="iFrameTwo" src="about:blank" title="iFrameTwo"></iframe></td>' & @CR $sHTML &= '<td><iframe name="iFrameTwo" src="about:blank" title="iFrameTwo"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) _IEAction($oIE, "refresh") Local $oIFrameOne = _IEFrameGetObjByName($oIE, "iFrameOne") Local $oIFrameTwo = _IEFrameGetObjByName($oIE, "iFrameTwo") _IEBodyWriteHTML($oIFrameOne, '$oIFrameOne = _IEFrameGetObjByName($oIE, "iFrameOne")') _IEBodyWriteHTML($oIFrameTwo, '$oIFrameTwo = _IEFrameGetObjByName($oIE, "iFrameTwo")') Case Else __IEConsoleWriteError("Error", "_IE_Example", "$_IESTATUS_InvalidValue") Return SetError($_IESTATUS_InvalidValue, 1, 0) EndSwitch ; at least under IE10 some delay is needed to have functions as _IEPropertySet() working ; value can depend of processor speed ... Sleep(500) Return SetError($_IESTATUS_Success, 0, $oIE) EndFunc ;==>_IE_Example  Link to comment Share on other sites More sharing options...
Sergy Posted October 23, 2021 Share Posted October 23, 2021 thanks, now it works! Link to comment Share on other sites More sharing options...
mLipok Posted March 7, 2022 Share Posted March 7, 2022 (edited) Little refactored version: expandcollapse popup; Trap COM errors so that 'Back' and 'Forward' ; outside of history bounds does not abort script ; (expect COM errors to be sent to the console) #include <GUIConstantsEx.au3> #include <IE.au3> #include <WindowsConstants.au3> Global $oIE Global $g_idError_Message _IEErrorHandlerRegister() _Example() Exit Func _Example() $oIE = _IECreateEmbedded() GUICreate("Embedded Web control Test", 640, 580, _ (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _ $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN) Local $iEmbededIE = GUICtrlCreateObj($oIE, 5, 5, 640-10, 360) GUICtrlSetResizing($iEmbededIE, $GUI_DOCKAUTO) Local $idButton_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30) Local $idButton_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30) Local $idButton_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30) Local $idButton_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30) GUICtrlCreateLabel("Examples", 10, 462, 100, 21) Local $idExamples = GUICtrlCreateCombo("", 110, 460, 300, 25) GUICtrlSetData($idExamples, "basic|form|table|frameset|iframe", "basic") $g_idError_Message = GUICtrlCreateLabel("", 100, 500, 500, 30) GUICtrlSetColor(-1, 0xff0000) GUISetState(@SW_SHOW) ;Show GUI __IE_Example(GUICtrlRead($idExamples)) _IEAction($oIE, "stop") ; Waiting for user to close the window While 1 Local $iMsg = GUIGetMsg() Select Case $iMsg = $GUI_EVENT_CLOSE ExitLoop Case $iMsg = $idButton_Home _IENavigate($oIE, "http://www.autoitscript.com") _IEAction($oIE, "stop") _IEAction($oIE, "back") CheckError("Home", @error, @extended) Case $iMsg = $idButton_Back _IEAction($oIE, "back") CheckError("Back", @error, @extended) Case $iMsg = $idButton_Forward _IEAction($oIE, "forward") CheckError("Forward", @error, @extended) Case $iMsg = $idButton_Stop _IEAction($oIE, "stop") CheckError("Stop", @error, @extended) Case $iMsg = $idExamples __IE_Example(GUICtrlRead($idExamples)) EndSelect WEnd GUIDelete() EndFunc ;==>_Example Func CheckError($sMsg, $iError, $iExtended) If $iError Then $sMsg = "Error using " & $sMsg & " button (" & $iExtended & ")" Else $sMsg = "" EndIf GUICtrlSetData($g_idError_Message, $sMsg) EndFunc ;==>CheckError Func __IE_Example($sModule = "basic") Local $sHTML = "" Switch $sModule Case "basic" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("basic")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<a href="http://www.autoitscript.com"><img src="http://www.autoitscript.com/images/logo_autoit_210x72.png" id="AutoItImage" alt="AutoIt Homepage Image" style="background: #204080;"></a>' & @CR $sHTML &= '<p></p>' & @CR $sHTML &= '<div id="line1">This is a simple HTML page with text, links and images.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="line2"><a href="http://www.autoitscript.com">AutoIt</a> is a wonderful automation scripting language.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="line3">It is supported by a very active and supporting <a href="http://www.autoitscript.com/forum/">user forum</a>.</div>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '<div id="IEAu3Data"></div>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "table" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=utf-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("table")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '$oTableOne = _IETableGetObjByName($oIE, "tableOne")<br>' & @CR $sHTML &= '<table border=1 id="tableOne"><br>' & @CR $sHTML &= '<table border=1 id="tableOne">' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>AutoIt</td>' & @CR $sHTML &= ' <td>is</td>' & @CR $sHTML &= ' <td>really</td>' & @CR $sHTML &= ' <td>great</td>' & @CR $sHTML &= ' <td>with</td>' & @CR $sHTML &= ' <td>IE.au3</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>1</td>' & @CR $sHTML &= ' <td>2</td>' & @CR $sHTML &= ' <td>3</td>' & @CR $sHTML &= ' <td>4</td>' & @CR $sHTML &= ' <td>5</td>' & @CR $sHTML &= ' <td>6</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>quick</td>' & @CR $sHTML &= ' <td>red</td>' & @CR $sHTML &= ' <td>fox</td>' & @CR $sHTML &= ' <td>jumped</td>' & @CR $sHTML &= ' <td>over</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>lazy</td>' & @CR $sHTML &= ' <td>brown</td>' & @CR $sHTML &= ' <td>dog</td>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>time</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>has</td>' & @CR $sHTML &= ' <td>come</td>' & @CR $sHTML &= ' <td>for</td>' & @CR $sHTML &= ' <td>all</td>' & @CR $sHTML &= ' <td>good</td>' & @CR $sHTML &= ' <td>men</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>to</td>' & @CR $sHTML &= ' <td>come</td>' & @CR $sHTML &= ' <td>to</td>' & @CR $sHTML &= ' <td>the</td>' & @CR $sHTML &= ' <td>aid</td>' & @CR $sHTML &= ' <td>of</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '<br>' & @CR $sHTML &= '$oTableTwo = _IETableGetObjByName($oIE, "tableTwo")<br>' & @CR $sHTML &= '<table border="1" id="tableTwo"><br>' & @CR $sHTML &= '<table border=1 id="tableTwo">' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td colspan="4">Table Top</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>One</td>' & @CR $sHTML &= ' <td colspan="3">Two</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Three</td>' & @CR $sHTML &= ' <td>Four</td>' & @CR $sHTML &= ' <td colspan="2">Five</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Six</td>' & @CR $sHTML &= ' <td colspan="3">Seven</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= ' <tr>' & @CR $sHTML &= ' <td>Eight</td>' & @CR $sHTML &= ' <td>Nine</td>' & @CR $sHTML &= ' <td>Ten</td>' & @CR $sHTML &= ' <td>Eleven</td>' & @CR $sHTML &= ' </tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "form" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("form")</title>' & @CR $sHTML &= '<style>body {font-family: Arial}' & @CR $sHTML &= 'td {padding:6px}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<form name="ExampleForm" onSubmit="javascript:alert(''ExampleFormSubmitted'');" method="post">' & @CR $sHTML &= '<table style="border-spacing:6px 6px;" border=1>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>ExampleForm</td>' & @CR $sHTML &= '<td><form name="ExampleForm" onSubmit="javascript:alert(''ExampleFormSubmitted'');" method="post"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>Hidden Input Element<input type="hidden" name="hiddenExample" value="secret value"></td>' & @CR $sHTML &= '<td><input type="hidden" name="hiddenExample" value="secret value"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="text" name="textExample" value="http://" size="20" maxlength="30">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="text" name="textExample" value="http://" size="20" maxlength="30"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="password" name="passwordExample" size="10">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="password" name="passwordExample" size="10"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="file" name="fileExample">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="file" name="fileExample"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="image" name="imageExample" alt="AutoIt Homepage" src="http://www.autoitscript.com/images/logo_autoit_210x72.png" style="background: #204080;>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="image" name="imageExample" alt="AutoIt Homepage" src="http://www.autoitscript.com/images/logo_autoit_210x72.png"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<textarea name="textareaExample" rows="5" cols="15">Hello!</textarea>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><textarea name="textareaExample" rows="5" cols="15">Hello!</textarea></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameBasketball">Basketball<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameFootball">Football<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameTennis" checked>Tennis<br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameBaseball">Baseball' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input type="checkbox" name="checkboxG1Example" value="gameBasketball">Basketball<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG1Example" value="gameFootball">Football<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameTennis" checked>Tennis<br><br>' & @CR $sHTML &= '<input type="checkbox" name="checkboxG2Example" value="gameBaseball">Baseball</td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleAirplane">Airplane<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleTrain" checked>Train<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleBoat">Boat<br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleCar">Car</td>' & @CR $sHTML &= '<td><input type="radio" name="radioExample" value="vehicleAirplane">Airplane<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleTrain" checked>Train<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleBoat">Boat<br><br>' & @CR $sHTML &= '<input type="radio" name="radioExample" value="vehicleCar">Car<br></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<select name="selectExample">' & @CR $sHTML &= '<option value="homepage.html">Homepage' & @CR $sHTML &= '<option value="midipage.html">Midipage' & @CR $sHTML &= '<option value="freepage.html">Freepage' & @CR $sHTML &= '</select>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><select name="selectExample"><br>' & @CR $sHTML &= '<option value="homepage.html">Homepage<br>' & @CR $sHTML &= '<option value="midipage.html">Midipage<br>' & @CR $sHTML &= '<option value="freepage.html">Freepage<br>' & @CR $sHTML &= '</select></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<select name="multipleSelectExample" size="6" multiple>' & @CR $sHTML &= '<option value="Name1">Aaron' & @CR $sHTML &= '<option value="Name2">Bruce' & @CR $sHTML &= '<option value="Name3">Carlos' & @CR $sHTML &= '<option value="Name4">Denis' & @CR $sHTML &= '<option value="Name5">Ed' & @CR $sHTML &= '<option value="Name6">Freddy' & @CR $sHTML &= '</select>' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><select name="multipleSelectExample" size="6" multiple><br>' & @CR $sHTML &= '<option value="Name1">Aaron<br>' & @CR $sHTML &= '<option value="Name2">Bruce<br>' & @CR $sHTML &= '<option value="Name3">Carlos<br>' & @CR $sHTML &= '<option value="Name4">Denis<br>' & @CR $sHTML &= '<option value="Name5">Ed<br>' & @CR $sHTML &= '<option value="Name6">Freddy<br>' & @CR $sHTML &= '</select></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td>' & @CR $sHTML &= '<input name="submitExample" type="submit" value="Submit">' & @CR $sHTML &= '<input name="resetExample" type="reset" value="Reset">' & @CR $sHTML &= '</td>' & @CR $sHTML &= '<td><input name="submitExample" type="submit" value="Submit"><br>' & @CR $sHTML &= '<input name="resetExample" type="reset" value="Reset"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '<input type="hidden" name="hiddenExample" value="secret value">' & @CR $sHTML &= '</form>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) Case "frameset" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("frameset")</title>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<frameset rows="25,200">' & @CR $sHTML &= ' <frame name=Top SRC=about:blank>' & @CR $sHTML &= ' <frameset cols="100,500">' & @CR $sHTML &= ' <frame name=Menu SRC=about:blank>' & @CR $sHTML &= ' <frame name=Main SRC=about:blank>' & @CR $sHTML &= ' </frameset>' & @CR $sHTML &= '</frameset>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) _IEAction($oIE, "refresh") Local $oFrameTop = _IEFrameGetObjByName($oIE, "Top") Local $oFrameMenu = _IEFrameGetObjByName($oIE, "Menu") Local $oFrameMain = _IEFrameGetObjByName($oIE, "Main") _IEBodyWriteHTML($oFrameTop, '$oFrameTop = _IEFrameGetObjByName($oIE, "Top")') _IEBodyWriteHTML($oFrameMenu, '$oFrameMenu = _IEFrameGetObjByName($oIE, "Menu")') _IEBodyWriteHTML($oFrameMain, '$oFrameMain = _IEFrameGetObjByName($oIE, "Main")') Case "iframe" $sHTML &= '<!DOCTYPE html>' & @CR $sHTML &= '<html>' & @CR $sHTML &= '<head>' & @CR $sHTML &= '<meta content="text/html; charset=UTF-8" http-equiv="content-type">' & @CR $sHTML &= '<title>_IE_Example("iframe")</title>' & @CR $sHTML &= '<style>td {padding:6px}</style>' & @CR $sHTML &= '</head>' & @CR $sHTML &= '<body>' & @CR $sHTML &= '<table style="border-spacing:6px" border=1>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td><iframe name="iFrameOne" src="about:blank" title="iFrameOne"></iframe></td>' & @CR $sHTML &= '<td><iframe name="iFrameOne" src="about:blank" title="iFrameOne"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '<tr>' & @CR $sHTML &= '<td><iframe name="iFrameTwo" src="about:blank" title="iFrameTwo"></iframe></td>' & @CR $sHTML &= '<td><iframe name="iFrameTwo" src="about:blank" title="iFrameTwo"></td>' & @CR $sHTML &= '</tr>' & @CR $sHTML &= '</table>' & @CR $sHTML &= '</body>' & @CR $sHTML &= '</html>' _IENavigate($oIE, "about:blank") _IEDocWriteHTML($oIE, $sHTML) _IEAction($oIE, "refresh") Local $oIFrameOne = _IEFrameGetObjByName($oIE, "iFrameOne") Local $oIFrameTwo = _IEFrameGetObjByName($oIE, "iFrameTwo") _IEBodyWriteHTML($oIFrameOne, '$oIFrameOne = _IEFrameGetObjByName($oIE, "iFrameOne")') _IEBodyWriteHTML($oIFrameTwo, '$oIFrameTwo = _IEFrameGetObjByName($oIE, "iFrameTwo")') Case Else __IEConsoleWriteError("Error", "_IE_Example", "$_IESTATUS_InvalidValue") Return SetError($_IESTATUS_InvalidValue, 1, 0) EndSwitch ; at least under IE10 some delay is needed to have functions as _IEPropertySet() working ; value can depend of processor speed ... Sleep(500) Return SetError($_IESTATUS_Success, 0, $oIE) EndFunc ;==>__IE_Example  It is compiliant with Au3Check, and includes some GUI improvements (resizing). Edited March 31, 2022 by mLipok _IEErrorHandlerRegister() argumentum 1 Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
mLipok Posted March 7, 2022 Share Posted March 7, 2022 btw. Anybody intrested in using this way of accessing IE on Windows11 should also take a look on:   Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
Earthshine Posted March 7, 2022 Share Posted March 7, 2022 (edited) I wouldn’t use Internet explorer for anything that is the hugest security hole in the world.  More and more organizations are going to be disabling Internet explorer all together so I wouldn’t count on this UDF it should be retired and go away forever. I wish they would stop shipping it and make it none available to everybody Edited March 7, 2022 by Earthshine My resources are limited. You must ask the right questions  Link to comment Share on other sites More sharing options...
jguinch Posted March 8, 2022 Share Posted March 8, 2022 22 hours ago, Earthshine said: More and more organizations are going to be disabling Internet explorer all together so I wouldn’t count on this UDF it should be retired and go away forever. I wish they would stop shipping it and make it none available to everybody Anyway, all Windows 10 users using a supported version (except the LTSC version) will be affected by the removal of Internet Explorer on June 15, 2022 https://docs.microsoft.com/en-us/lifecycle/announcements/internet-explorer-11-end-of-support   Earthshine 1 Spoiler Network configuration UDF, _DirGetSizeByExtension, _UninstallList     Firefox ConfigurationArray multi-dimensions, Printer Management UDF  Link to comment Share on other sites More sharing options...
HurleyShanabarger Posted March 8, 2022 Share Posted March 8, 2022 I hope to get something up and running later this year using the Chromium Embedded Framework Link to comment Share on other sites More sharing options...
Subz Posted March 8, 2022 Share Posted March 8, 2022 IE will still be around until 2029, except you need to use IE mode within Edge, there are a number of legacy apps like SharePoint 2013 which are EOL next year, that still require activex components, in IE mode, Edge just embeds the window. Several years ago I wrote an Outlook signature tool, which uses the IE UDF for previewing the users signature within a custom GUI prior to creating the signature, had hoped that the tool would die with Win11 so I no longer had to support it but unfortunately it is still used company wide with both Win10 and Win11 clients. Link to comment Share on other sites More sharing options...
HurleyShanabarger Posted March 8, 2022 Share Posted March 8, 2022 The thing is, I haven't been able to get all pages running within IE that I need to use within the applicaiton. Link to comment Share on other sites More sharing options...
bdr529 Posted March 12, 2022 Share Posted March 12, 2022 On 10/23/2021 at 12:35 PM, Sergy said:  Windows 11 Pro 21H2 22000.282 - This help example don't work for me: ; Create browser windows with each of the example pages displayed. ; The object variable returned can be used just as the object ; variables returned by _IECreate or _IEAttach #include <IE.au3> Local $oIE_basic = _IE_Example("basic") Local $oIE_form = _IE_Example("form") Local $oIE_table = _IE_Example("table") Local $oIE_frameset = _IE_Example("frameset") Local $oIE_iframe = _IE_Example("iframe") Error message: "C:\Program Files (x86)\AutoIt3\Include\IE.au3" (1943) : ==> The requested action with this object has failed.: $oObject.Focus() $oObject^ ERROR >Exit code: 1 Time: 0.5855   Gianni 1 To community goes all my regards and thanks Link to comment Share on other sites More sharing options...
mLipok Posted March 31, 2022 Share Posted March 31, 2022 On 3/8/2022 at 1:26 PM, jguinch said: removal of Internet Explorer on June 15, 2022 from Windows 10 ? I'm wondering why on Windows 11 it is still working ? I mean I can use this script:  #include <IE.au3> _Example() Exit Func _Example() Local $oIE = _IECreate() Sleep(2000) _IENavigate($oIE, 'www.google.com') EndFunc ;==>_Example REMARK: I have Windows 11 migrated from Windows 10.REQUEST: To anybody who have Windows 11 installed from scratch (not migrated from Windows 10): Please try to use my script which I posted above. Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
argumentum Posted March 31, 2022 Share Posted March 31, 2022 36 minutes ago, mLipok said: To anybody who have Windows 11 installed from scratch (not migrated from Windows 10): ..is not flawless. Clean install with ISO from MS. Note that no other browser is installed. Side note: you should install some type of hypervisor to run other OSs in your PC. I find it helpful. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
argumentum Posted March 31, 2022 Share Posted March 31, 2022 On 3/6/2022 at 7:31 PM, mLipok said: It is compiliant with Au3Check, and includes some GUI improvements (resizing). "C:\Utilities\autoit-v3.3.16\autoit-v3.3.16\Include\IE.au3" (659) : ==> The requested action with this object has failed.: If String($oFrame.name) = $sName Then Return SetError($_IESTATUS_Success, 0, $oTemp.frames($sName)) If String($oFrame.name) = $sName Then Return SetError($_IESTATUS_Success, 0, $oTemp^ ERROR  Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
mLipok Posted March 31, 2022 Share Posted March 31, 2022 (edited) 18 minutes ago, argumentum said:   There is still a need to change settings:  edge://settings/?search=explorer  Just try to set NEVER and DEFAULT Edited March 31, 2022 by mLipok Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
mLipok Posted March 31, 2022 Share Posted March 31, 2022 12 minutes ago, argumentum said: "C:\Utilities\autoit-v3.3.16\autoit-v3.3.16\Include\IE.au3" (659) : ==> The requested action with this object has failed.: If String($oFrame.name) = $sName Then Return SetError($_IESTATUS_Success, 0, $oTemp.frames($sName)) If String($oFrame.name) = $sName Then Return SetError($_IESTATUS_Success, 0, $oTemp^ ERROR  Hah...  so here is modified script: #include <IE.au3> _IEErrorHandlerRegister() _Example() Exit Func _Example() Local $oIE = _IECreate() Sleep(2000) _IENavigate($oIE, 'www.google.com') EndFunc ;==>_Example   Signature beginning:* Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *  My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors  * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"  , be   and    \\//_. Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now