Acabei de criar uma maneira simples de fazer isso. Não é o melhor, mas funciona bem o suficiente para mim agora. Eu não o personalizuei para corresponder à formatação do stackoverflow, já que eu queria que fosse flexível por enquanto. Vai colocar no github mais tarde. Provavelmente precisa ser melhor para que realmente funcione.
Salve o seguinte como Googlesearch.ahk e execute-o usando autohotkey
; Search google for the highlighted word
; then get the first link address and put it on the Clipboard
^!r:: Reload
#+g::
bak = %clipboard%
Send, ^c
;clipboard = %bak%'r'n%clipboard%
Query = %clipboard%
wb := ComObjCreate("InternetExplorer.Application")
;wb := IEGet()
wb.Visible := false
wb.Navigate("www.google.com/search?q=" Query)
While wb.readyState != 4 || wb.document.readyState != "complete" || wb.busy ; wait for the page to load
sleep 100
; loop % (Nodes := wb.document.getElementById("rso").childNodes).length
; Links_urls .= (A_index = 1) ? Nodes[A_index-1].getElementsByTagName("a")[0].href : "'n" . Nodes[A_index-1].getElementsByTagName("a")[0].href
; Msgbox %Links_urls%
Nodes := wb.document.getElementById("rso").childNodes
First_link := Nodes[0].getElementsByTagName("a")[0].href
Clipboard = %First_link%
TrayTip, First Link on Google Search, %First_link% 'r'n Ctrl+V to paste the link
return