Embed an Internet Explorer control in your AHK Gui via COM
REDIRECT. IE.ahk is now retired. Code it using COM Standard Library.
(Note from moderator: This topic was originally part of <!-- m -->http://www.autohotke...pic.php?t=15885<!-- m -->. It was split off at the author's request.)
I found out that the Mozilla ActiveX can very easily be used too...
[color=red]GUID4String(CLSID_MozillaBrowser, "{1339B54C-3453-11D2-93B9-000000000000}")[/color] ;GUID4String(CLSID_WebBrowser, "{8856F961-340A-11D0-A96B-00C04FD705A2}") GUID4String(IID_IWebBrowser2, "{D30C1661-CDAF-11D0-8A3E-00C04FC9E26E}") hModule := DllCall("LoadLibrary", "str", "atl.dll") DllCall(DllCall("GetProcAddress", "Uint", hModule, "str", "AtlAxWinInit")) DllCall("FreeLibary", "Uint", hModule) hCtrl := DllCall("CreateWindowEx" , "Uint", 0x200 ; WS_EX_CLIENTEDGE , "str", "AtlAxWin" ; ClassName , "str", [color=red]CLSID_MozillaBrowser[/color] ; WindowName , "Uint", 0x10000000 | 0x40000000 ; WS_VISIBLE | WS_CHILD , "int", x ; Left ...
Just make sure you register the mozctlx.dll first...
8)
This is very good... Now one could use IE as default and add/download the Mozilla ActiveX if necessary.
One somewhat major problem I'm experiencing using the latest CoHelper.ahk and this new IE4AHK COM code is that the main scroll bar doesn't appear, and you can't use pageup/pagedown/arrowup/arrowdown to move arround inside the page.
Another smaller issue that exists in both versions of IE4AHK is that the enter key doesnt properly focus. For example, go to google.com by typing the address into the address bar. You have to click the 'Google Search' button, since enter just reloads the page.
Both of these problems exist with the latest version of AHK, IE4AHK, using IE 6.0.2900.2180 on XP SP2.
Thanks a lot for contributing this great work back to the AHK community.
I think this part is easy to correct. I updated the script. The only change is:One somewhat major problem I'm experiencing using the latest CoHelper.ahk and this new IE4AHK COM code is that the main scroll bar doesn't appear, and you can't use pageup/pagedown/arrowup/arrowdown to move arround inside the page.
, "Uint", 0x10000000 | 0x40000000 | 0x04200000 ; WS_VISIBLE | WS_CHILD | ...
I think this part is easy to correct. I updated the script. The only change is:One somewhat major problem I'm experiencing using the latest CoHelper.ahk and this new IE4AHK COM code is that the main scroll bar doesn't appear, and you can't use pageup/pagedown/arrowup/arrowdown to move arround inside the page.
, "Uint", 0x10000000 | 0x40000000 | 0x04200000 ; WS_VISIBLE | WS_CHILD | ...
Thanks Sean, this fixed the scroll bar issues.
Although there is no difference in features, I recommend updating to it.
Sean - I'd really like to see a New > Window button in the IE4AHK interface. This opens a new window, but without spawning another process. Do you know of a way to do this with COM? I can post some GUI code for adding the button.
It looks like not a COM problem, may be done by creating another GUI and start a new WebControl. Store them as (pweb1, hCtrol1), (pweb2, hCtrl2), etc and switch (pweb, hCtrl) to appropriate one among them whenever one of the GUI's becomes active.Sean - I'd really like to see a New > Window button in the IE4AHK interface. This opens a new window, but without spawning another process. Do you know of a way to do this with COM? I can post some GUI code for adding the button.
Or, might simulate multi-tab features by creating multi WebControls in a single GUI, however, I'm not sure if there will be no glitch at all.
So, if using multiple WebControls, only need to store pwb1, pwb2, etc.
I may add further a function to reverse the process, i.e. retrieving pwb from hCtrl if there is a demand.