https://autohotkey.com/board/topic/1028 ... -web-page/
it actually does what its supposed to, it finds the text on a webpage and clicks it. the only issue is after it
does what its supposed to it pops up an error message 0x80070005 - Access is denied.
Here is a screen shot capture:
On further inspection, this only happens on bbc.com, on yahoo.com or msn.com there is no error.
Here is my program:
Code: Select all
#SingleInstance Force
Gui, +Alwaysontop
Gui, Add, text , , Enter search term:
Gui, Add, edit, x+5 ym w200 vsearchterm,
Gui, Add, Button, x+5 ym gsearch default, SEARCH
Gui, show
return
search:
Gui, Submit, NoHide
wb := WBGet()
Links := wb.Document.Links
Loop % Links.Length
If InStr(Links[A_Index-1].InnerText, searchterm)
Links[A_Index-1].Click()
return
WBGet(WinTitle="ahk_class IEFrame", Svr#=1) { ; based on ComObjQuery docs
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID := "{0002DF05-0000-0000-C000-000000000046}" ; IID_IWebBrowserApp
; , IID := "{332C4427-26CB-11D0-B483-00C04FD90119}" ; IID_IHTMLWindow2
SendMessage msg, 0, 0, Internet Explorer_Server%Svr#%, %WinTitle%
if (ErrorLevel != "FAIL") {
lResult:=ErrorLevel, VarSetCapacity(GUID,16,0)
if DllCall("ole32\CLSIDFromString", "wstr","{332C4425-26CB-11D0-B483-00C04FD90119}", "ptr",&GUID) >= 0 {
DllCall("oleacc\ObjectFromLresult", "ptr",lResult, "ptr",&GUID, "ptr",0, "ptr*",pdoc)
return ComObj(9,ComObjQuery(pdoc,IID,IID),1), ObjRelease(pdoc)
}
}
} ; by Jethrow
esc::exitApp
Any suggestions?
This works with the IE explorer, Not sure about any others.