Advertisement
brotech

Untitled

May 27th, 2020
2,005
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #NoEnv
  2. #SingleInstance Force
  3.  
  4. ; You will need to install Acc stuff First, https://www.autohotkey.com/boards/viewtopic.php?f=6&t=26201
  5.  
  6. F1:: ; Press F1 and a MsgBox will appear with all chrome tabs on new lines. That makes it easy to put into an array
  7.     Tabs := JEE_ChromeGetTabNames(hWnd:="0x200A2", vSep:="`n") ; Use AccViewer.ahk to get hWnd Value, Yours will be different, Or leave blank for active window
  8.     MsgBox, % Tabs
  9. return
  10.  
  11. JEE_ChromeAccInit(vValue)
  12. {
  13.     if (vValue = "U1")
  14.         return "4.1.2.1.2.5.2" ;address bar
  15.     if (vValue = "U2")
  16.         return "4.1.2.2.2.5.2" ;address bar
  17.     if (vValue = "T")
  18.         return "4.1.2.1.1.1"
  19. }
  20.  
  21. JEE_ChromeGetTabNames(hWnd:="", vSep:="`n")
  22. {
  23.     local
  24.     static vAccPath := JEE_ChromeAccInit("T")
  25.     if (hWnd = "")
  26.         hWnd := WinExist("A")
  27.     oAcc := Acc_Get("Object", vAccPath, 0, "ahk_id " hWnd)
  28.  
  29.     vHasSep := !(vSep = "")
  30.     if vHasSep
  31.         vOutput := ""
  32.     else
  33.         oOutput := []
  34.     for _, oChild in Acc_Children(oAcc)
  35.     {
  36.         ;ROLE_SYSTEM_PUSHBUTTON := 0x2B
  37.         if (oChild.accRole(0) = 0x2B)
  38.             continue
  39.         try vTabText := oChild.accName(0)
  40.         catch
  41.             vTabText := ""
  42.         if vHasSep
  43.             vOutput .= vTabText vSep
  44.         else
  45.             oOutput.Push(vTabText)
  46.     }
  47.     oAcc := oChild := ""
  48.     return vHasSep ? SubStr(vOutput, 1, -StrLen(vSep)) : oOutput
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement