<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Accinfo с объекта НЕ под курсором]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=14834&amp;type=atom" />
	<updated>2022-11-05T13:43:34Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14834</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155554#p155554" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Кстати, мы с подобным уже сталкивались:</p></blockquote></div><p>Мне бы твою память. )</p><p>Пробую с accSelect фокусировать, не получается. Придётся ControlClick использовать.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T13:43:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155554#p155554</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155553#p155553" />
			<content type="html"><![CDATA[<p>Кстати, мы с подобным уже сталкивались:<br /><a href="http://forum.script-coding.com/viewtopic.php?pid=139058#p139058">http://forum.script-coding.com/viewtopi … 58#p139058</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-05T13:39:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155553#p155553</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155552#p155552" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Also, while accDoDefaultAction is supposed to return immediately, some implementations block the return. For example, if clicking a link displays a dialog, some implementations will block the return until the dialog is dismissed. Such delays can prevent client applications from processing a dialog box. Servers should avoid implementations that block returns.</p></blockquote></div><p><a href="https://learn.microsoft.com/en-us/windows/win32/api/oleacc/nf-oleacc-iaccessible-accdodefaultaction">https://learn.microsoft.com/en-us/windo … aultaction</a></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-05T13:24:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155552#p155552</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155551#p155551" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />Да, без accdodefaultaction проблем нет. TRY CATCH работает.<br />А что с accdodefaultaction не так, не копал?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T13:19:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155551#p155551</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155550#p155550" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>accdodefaultaction</p></blockquote></div><p>Ага, надо было сказать, его то я и использую.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T13:05:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155550#p155550</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155549#p155549" />
			<content type="html"><![CDATA[<p>Надо смотреть программу.<br />Лично я не видел таких, которые намертво зависают при обращении к объекту.<br />Зависали только при вызове метода accdodefaultaction.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-05T13:04:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155549#p155549</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155548#p155548" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Он выделяет только родителя.</p></blockquote></div><p>и не показывает содержимое. <br /><span class="postimg"><img src="https://i.imgur.com/71EY3Lz.png" alt="https://i.imgur.com/71EY3Lz.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T13:01:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155548#p155548</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155547#p155547" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>AccExplorer32</p></blockquote></div><p>Он выделяет только родителя.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Можно, например, проверять количество детей у родителя.</p></blockquote></div><p>На это нельзя полагаться в данном случае.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T13:00:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155547#p155547</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155546#p155546" />
			<content type="html"><![CDATA[<p>Можно, например, проверять количество детей у родителя.<br />Можно через AccExplorer32 посмотреть, что изменяется при смене видимости объекта и именно это и проверять.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-11-05T12:43:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155546#p155546</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=155545#p155545" />
			<content type="html"><![CDATA[<p>Что можно проверить, чтобы убедится что объект существует?<br />Есть поле ввода (Acc объект ), которое то видимо, то нет. Искать каждый раз его долго.<br />Я его первый раз допустим нахожу, далее по хоткеям использую его. <br />Но если когда он скрыт, обратится к нему, то программа в окне которой он находится, намертво виснет.</p><p>Это инфо всегда одинаковое.<br /></p><div class="codebox"><pre><code>ToolTip % IsObject(Acc) &quot;`n&quot; ComObjType(Acc, &quot;Name&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2022-11-05T12:34:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=155545#p155545</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=134745#p134745" />
			<content type="html"><![CDATA[<p>Можно ли ещё как-то ускорить скрипт? Работает довольно быстро, но подумал вдруг есть возможность ускорить.<br /></p><div class="codebox"><pre><code>a = &quot;&quot;
#ifwinactive, ahk_class MozillaWindowClass
XButton1::  ;treeview get focused item
   {
      Sleep, 300
      If GetKeyState(&quot;XButton1&quot;, &quot;P&quot;) ; Если BIND отжат то выходит из цикла.
	{
         Sendinput ^{w}
		 ToolTip, восстановить вкладку
		 hwnd:=WinExist(&quot;ahk_exe back_button_history.exe&quot;)
		 return
	 }
   }
WinGet, hWnd, ID, A
WinGet, Style, Style, A
if (style = &quot;0x170B0000&quot;)
	Sendinput {esc}

;oAcc := Acc_Get(&quot;Object&quot;, &quot;ahk_id &quot; hCtl)
;ToolTip, a-%a%
goto, exec1
	serch1:
if (a != &quot;&quot;)
{
	 WinGet Path, ProcessPath, A
 FileGetVersion, Version, %Path%
Loop, read, %Version%.txt
{
    Loop, parse, A_LoopReadLine, %A_Tab%
    {
        d := A_LoopField
		oAcc := Acc_Get(&quot;Object&quot;, d, 0, &quot;ahk_id &quot; hWnd)
		ToolTip, читаю %d%
		;Sleep, 1000
		
		if (oAcc.accname(0) = &quot;Назад&quot;)
			goto, exec1
    }
}
	;ToolTip, aa-%a%
Loop, 99
{
	;ToolTip, aaa-%a%
	if (oAcc.accname(0) != &quot;Панель навигации&quot;) 
	{
	c := A_Index+19
		d = 4.%c%
	}
else
	{
		k := A_Index
		d = 4.%c%.%k%
	}
	
	;ToolTip, % d
	oAcc := Acc_Get(&quot;Object&quot;, d, 0, &quot;ahk_id &quot; hWnd)
	if (oAcc.accname(0) = &quot;Панель навигации&quot;) ;STATE_SYSTEM_FOCUSED := 0x4
	{
		ToolTip, Панель навигации
		;sleep, 1000
		Loop
		{
			k := A_Index
			d = 4.%c%.%k%
		
		oAcc := Acc_Get(&quot;Object&quot;, d, 0, &quot;ahk_id &quot; hWnd)
		ToolTip, % d
		
		if (oAcc.accname(0) = &quot;Назад&quot;) ;STATE_SYSTEM_FOCUSED := 0x4
		{
		vOutput := oAcc.accState(0)
		a = d
		 WinGet Path, ProcessPath, A

 FileGetVersion, Version, %Path%
 ;tooltip,  %Version% %Path%
 ;FileAppend , % d%count% &quot;`n&quot;, %Version%.txt
 FileRead, filetext, %Version%.txt ; get the file contents

	IfNotInString, filetext, %d% ; self-explanatory
{
	FileDelete, %Version%.txt
	FileAppend , %d% `n%filetext%, %Version%.txt
}

		break
		}
		}
		break
		
	}
	}
	}

exec1:
		oAcc := Acc_Get(&quot;Object&quot;, d, 0, &quot;ahk_id &quot; hWnd)
		ToolTip, % d
		
vOutput := oAcc.accState(0)
;Clipboard := vOutput
;ToolTip, % vOutput
ToolTip
;return
if ((vOutput = &quot;1073741825&quot;) or (vOutput = &quot;1&quot;))
{
	;ToolTip, работает
	Sendinput ^{w}
	ToolTip, восстановить вкладку
	CoordMode, Mouse, Relative
hwnd:=WinExist(&quot;ahk_exe back_button_history.exe&quot;)
;SetTimer, Close_tooltip, 5000
;return
;Close_tooltip:
;ToolTip
	return
}
	if ((vOutput = &quot;1073741824&quot;) or (vOutput = &quot;0&quot;))
	{
		;ToolTip, НЕработает
	Sendinput {Browser_Back}
	return
}
else
{
	a = &quot;&quot;
	Goto, serch1
}
;==================================================
#IfWinExist ahk_exe back_button_history.exe
~LButton Up::
{
MouseGetPos,x,y,win
;tooltip, % win hwnd
;sleep, 1000
If win = %hwnd%
{
	WinActivateBottom, ahk_class MozillaWindowClass
tooltip
Sendinput ^+{t}
return
}

tooltip
return
}
XButton2::
{
	WinActivateBottom, ahk_class MozillaWindowClass
Sendinput ^+{t}
tooltip
return
}
#IfWinActive ahk_class MozillaWindowClass
XButton2::
   {
      Sleep, 300
      If GetKeyState(&quot;XButton2&quot;, &quot;P&quot;) ; Если BIND отжат то выходит из цикла.
	{
         Sendinput ^+{t}
		 return
	 }
	 	  Sendinput {Browser_Forward}
	   return
   }

JEE_StrRept(vText, vNum)
{
	if (vNum &lt;= 0)
		return
	return StrReplace(Format(&quot;{:&quot; vNum &quot;}&quot;, &quot;&quot;), &quot; &quot;, vText)
	;return StrReplace(Format(&quot;{:0&quot; vNum &quot;}&quot;, 0), 0, vText)
}



; http://www.autohotkey.com/board/topic/77303-acc-library-ahk-l-updated-09272012/
; https://dl.dropbox.com/u/47573473/Web%20Server/AHK_L/Acc.ahk
;------------------------------------------------------------------------------
; Acc.ahk Standard Library
; by Sean
; Updated by jethrow:
; 	Modified ComObjEnwrap params from (9,pacc) --&gt; (9,pacc,1)
; 	Changed ComObjUnwrap to ComObjValue in order to avoid AddRef (thanks fincs)
; 	Added Acc_GetRoleText &amp; Acc_GetStateText
; 	Added additional functions - commented below
; 	Removed original Acc_Children function
; last updated 2/25/2010
;------------------------------------------------------------------------------

Acc_Init()
{
	Static	h
	If Not	h
		h:=DllCall(&quot;LoadLibrary&quot;,&quot;Str&quot;,&quot;oleacc&quot;,&quot;Ptr&quot;)
}
Acc_ObjectFromEvent(ByRef _idChild_, hWnd, idObject, idChild)
{
	Acc_Init()
	If	DllCall(&quot;oleacc\AccessibleObjectFromEvent&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject, &quot;UInt&quot;, idChild, &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
	Return	ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,&quot;UInt&quot;)
}

Acc_ObjectFromPoint(ByRef _idChild_ = &quot;&quot;, x = &quot;&quot;, y = &quot;&quot;)
{
	Acc_Init()
	If	DllCall(&quot;oleacc\AccessibleObjectFromPoint&quot;, &quot;Int64&quot;, x==&quot;&quot;||y==&quot;&quot;?0*DllCall(&quot;GetCursorPos&quot;,&quot;Int64*&quot;,pt)+pt:x&amp;0xFFFFFFFF|y&lt;&lt;32, &quot;Ptr*&quot;, pacc, &quot;Ptr&quot;, VarSetCapacity(varChild,8+2*A_PtrSize,0)*0+&amp;varChild)=0
	Return	ComObjEnwrap(9,pacc,1), _idChild_:=NumGet(varChild,8,&quot;UInt&quot;)
}

Acc_ObjectFromWindow(hWnd, idObject = -4)
{
	Acc_Init()
	If	DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, &quot;Ptr&quot;, hWnd, &quot;UInt&quot;, idObject&amp;=0xFFFFFFFF, &quot;Ptr&quot;, -VarSetCapacity(IID,16)+NumPut(idObject==0xFFFFFFF0?0x46000000000000C0:0x719B3800AA000C81,NumPut(idObject==0xFFFFFFF0?0x0000000000020400:0x11CF3C3D618736E0,IID,&quot;Int64&quot;),&quot;Int64&quot;), &quot;Ptr*&quot;, pacc)=0
	Return	ComObjEnwrap(9,pacc,1)
}

Acc_WindowFromObject(pacc)
{
	If	DllCall(&quot;oleacc\WindowFromAccessibleObject&quot;, &quot;Ptr&quot;, IsObject(pacc)?ComObjValue(pacc):pacc, &quot;Ptr*&quot;, hWnd)=0
	Return	hWnd
}

Acc_GetRoleText(nRole)
{
	nSize := DllCall(&quot;oleacc\GetRoleText&quot;, &quot;Uint&quot;, nRole, &quot;Ptr&quot;, 0, &quot;Uint&quot;, 0)
	VarSetCapacity(sRole, (A_IsUnicode?2:1)*nSize)
	DllCall(&quot;oleacc\GetRoleText&quot;, &quot;Uint&quot;, nRole, &quot;str&quot;, sRole, &quot;Uint&quot;, nSize+1)
	Return	sRole
}

Acc_GetStateText(nState)
{
	nSize := DllCall(&quot;oleacc\GetStateText&quot;, &quot;Uint&quot;, nState, &quot;Ptr&quot;, 0, &quot;Uint&quot;, 0)
	VarSetCapacity(sState, (A_IsUnicode?2:1)*nSize)
	DllCall(&quot;oleacc\GetStateText&quot;, &quot;Uint&quot;, nState, &quot;str&quot;, sState, &quot;Uint&quot;, nSize+1)
	Return	sState
}

Acc_SetWinEventHook(eventMin, eventMax, pCallback)
{
	Return	DllCall(&quot;SetWinEventHook&quot;, &quot;Uint&quot;, eventMin, &quot;Uint&quot;, eventMax, &quot;Uint&quot;, 0, &quot;Ptr&quot;, pCallback, &quot;Uint&quot;, 0, &quot;Uint&quot;, 0, &quot;Uint&quot;, 0)
}

Acc_UnhookWinEvent(hHook)
{
	Return	DllCall(&quot;UnhookWinEvent&quot;, &quot;Ptr&quot;, hHook)
}
/*	Win Events:
	pCallback := RegisterCallback(&quot;WinEventProc&quot;)
	WinEventProc(hHook, event, hWnd, idObject, idChild, eventThread, eventTime)
	{
		Critical
		Acc := Acc_ObjectFromEvent(_idChild_, hWnd, idObject, idChild)
		; Code Here:
	}
*/

; Written by jethrow
Acc_Role(Acc, ChildId=0) {
	try return ComObjType(Acc,&quot;Name&quot;)=&quot;IAccessible&quot;?Acc_GetRoleText(Acc.accRole(ChildId)):&quot;invalid object&quot;
}
Acc_State(Acc, ChildId=0) {
	try return ComObjType(Acc,&quot;Name&quot;)=&quot;IAccessible&quot;?Acc_GetStateText(Acc.accState(ChildId)):&quot;invalid object&quot;
}
Acc_Location(Acc, ChildId=0, byref Position=&quot;&quot;) { ; adapted from Sean&#039;s code
	try Acc.accLocation(ComObj(0x4003,&amp;x:=0), ComObj(0x4003,&amp;y:=0), ComObj(0x4003,&amp;w:=0), ComObj(0x4003,&amp;h:=0), ChildId)
	catch
		return
	Position := &quot;x&quot; NumGet(x,0,&quot;int&quot;) &quot; y&quot; NumGet(y,0,&quot;int&quot;) &quot; w&quot; NumGet(w,0,&quot;int&quot;) &quot; h&quot; NumGet(h,0,&quot;int&quot;)
	return	{x:NumGet(x,0,&quot;int&quot;), y:NumGet(y,0,&quot;int&quot;), w:NumGet(w,0,&quot;int&quot;), h:NumGet(h,0,&quot;int&quot;)}
}
Acc_Parent(Acc) { 
	try parent:=Acc.accParent
	return parent?Acc_Query(parent):
}
Acc_Child(Acc, ChildId=0) {
	try child:=Acc.accChild(ChildId)
	return child?Acc_Query(child):
}
Acc_Query(Acc) { ; thanks Lexikos - www.autohotkey.com/forum/viewtopic.php?t=81731&amp;p=509530#509530
	try return ComObj(9, ComObjQuery(Acc,&quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;), 1)
}
Acc_Error(p=&quot;&quot;) {
	static setting:=0
	return p=&quot;&quot;?setting:setting:=p
}
Acc_Children(Acc) {
	if ComObjType(Acc,&quot;Name&quot;) != &quot;IAccessible&quot;
		ErrorLevel := &quot;Invalid IAccessible Object&quot;
	else {
		Acc_Init(), cChildren:=Acc.accChildCount, Children:=[]
		if DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;,ComObjValue(Acc), &quot;Int&quot;,0, &quot;Int&quot;,cChildren, &quot;Ptr&quot;,VarSetCapacity(varChildren,cChildren*(8+2*A_PtrSize),0)*0+&amp;varChildren, &quot;Int*&quot;,cChildren)=0 {
			Loop %cChildren%
				i:=(A_Index-1)*(A_PtrSize*2+8)+8, child:=NumGet(varChildren,i), Children.Insert(NumGet(varChildren,i-8)=9?Acc_Query(child):child), NumGet(varChildren,i-8)=9?ObjRelease(child):
			return Children.MaxIndex()?Children:
		} else
			ErrorLevel := &quot;AccessibleChildren DllCall Failed&quot;
	}
	if Acc_Error()
		throw Exception(ErrorLevel,-1)
}
Acc_ChildrenByRole(Acc, Role) {
	if ComObjType(Acc,&quot;Name&quot;)!=&quot;IAccessible&quot;
		ErrorLevel := &quot;Invalid IAccessible Object&quot;
	else {
		Acc_Init(), cChildren:=Acc.accChildCount, Children:=[]
		if DllCall(&quot;oleacc\AccessibleChildren&quot;, &quot;Ptr&quot;,ComObjValue(Acc), &quot;Int&quot;,0, &quot;Int&quot;,cChildren, &quot;Ptr&quot;,VarSetCapacity(varChildren,cChildren*(8+2*A_PtrSize),0)*0+&amp;varChildren, &quot;Int*&quot;,cChildren)=0 {
			Loop %cChildren% {
				i:=(A_Index-1)*(A_PtrSize*2+8)+8, child:=NumGet(varChildren,i)
				if NumGet(varChildren,i-8)=9
					AccChild:=Acc_Query(child), ObjRelease(child), Acc_Role(AccChild)=Role?Children.Insert(AccChild):
				else
					Acc_Role(Acc, child)=Role?Children.Insert(child):
			}
			return Children.MaxIndex()?Children:, ErrorLevel:=0
		} else
			ErrorLevel := &quot;AccessibleChildren DllCall Failed&quot;
	}
	if Acc_Error()
		throw Exception(ErrorLevel,-1)
}
Acc_Get(Cmd, ChildPath=&quot;&quot;, ChildID=0, WinTitle=&quot;&quot;, WinText=&quot;&quot;, ExcludeTitle=&quot;&quot;, ExcludeText=&quot;&quot;) {
	static properties := {Action:&quot;DefaultAction&quot;, DoAction:&quot;DoDefaultAction&quot;, Keyboard:&quot;KeyboardShortcut&quot;}
	AccObj :=   IsObject(WinTitle)? WinTitle
			:   Acc_ObjectFromWindow( WinExist(WinTitle, WinText, ExcludeTitle, ExcludeText), 0 )
	if ComObjType(AccObj, &quot;Name&quot;) != &quot;IAccessible&quot;
		ErrorLevel := &quot;Could not access an IAccessible Object&quot;
	else {
		StringReplace, ChildPath, ChildPath, _, %A_Space%, All
		AccError:=Acc_Error(), Acc_Error(true)
		Loop Parse, ChildPath, ., %A_Space%
			try {
				if A_LoopField is digit
					Children:=Acc_Children(AccObj), m2:=A_LoopField ; mimic &quot;m2&quot; output in else-statement
				else
					RegExMatch(A_LoopField, &quot;(\D*)(\d*)&quot;, m), Children:=Acc_ChildrenByRole(AccObj, m1), m2:=(m2?m2:1)
				if Not Children.HasKey(m2)
					throw
				AccObj := Children[m2]
			} catch {
				ErrorLevel:=&quot;Cannot access ChildPath Item #&quot; A_Index &quot; -&gt; &quot; A_LoopField, Acc_Error(AccError)
				if Acc_Error()
					throw Exception(&quot;Cannot access ChildPath Item&quot;, -1, &quot;Item #&quot; A_Index &quot; -&gt; &quot; A_LoopField)
				return
			}
		Acc_Error(AccError)
		StringReplace, Cmd, Cmd, %A_Space%, , All
		properties.HasKey(Cmd)? Cmd:=properties[Cmd]:
		try {
			if (Cmd = &quot;Location&quot;)
				AccObj.accLocation(ComObj(0x4003,&amp;x:=0), ComObj(0x4003,&amp;y:=0), ComObj(0x4003,&amp;w:=0), ComObj(0x4003,&amp;h:=0), ChildId)
			  , ret_val := &quot;x&quot; NumGet(x,0,&quot;int&quot;) &quot; y&quot; NumGet(y,0,&quot;int&quot;) &quot; w&quot; NumGet(w,0,&quot;int&quot;) &quot; h&quot; NumGet(h,0,&quot;int&quot;)
			else if (Cmd = &quot;Object&quot;)
				ret_val := AccObj
			else if Cmd in Role,State
				ret_val := Acc_%Cmd%(AccObj, ChildID+0)
			else if Cmd in ChildCount,Selection,Focus
				ret_val := AccObj[&quot;acc&quot; Cmd]
			else
				ret_val := AccObj[&quot;acc&quot; Cmd](ChildID+0)
		} catch {
			ErrorLevel := &quot;&quot;&quot;&quot; Cmd &quot;&quot;&quot; Cmd Not Implemented&quot;
			if Acc_Error()
				throw Exception(&quot;Cmd Not Implemented&quot;, -1, Cmd)
			return
		}
		return ret_val, ErrorLevel:=0
	}
	if Acc_Error()
		throw Exception(ErrorLevel,-1)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[OmTatSat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33453</uri>
			</author>
			<updated>2019-06-24T06:34:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=134745#p134745</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=134737#p134737" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong>, теперь вроде всё).</p>]]></content>
			<author>
				<name><![CDATA[OmTatSat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33453</uri>
			</author>
			<updated>2019-06-21T14:56:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=134737#p134737</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=134736#p134736" />
			<content type="html"><![CDATA[<p><span style="color: green">По 2 и 3 ссылкам нет знаков препинания.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2019-06-21T14:51:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=134736#p134736</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=134735#p134735" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong>, вроде поправил).</p>]]></content>
			<author>
				<name><![CDATA[OmTatSat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33453</uri>
			</author>
			<updated>2019-06-21T14:39:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=134735#p134735</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Accinfo с объекта НЕ под курсором]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=134727#p134727" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>OmTatSat</strong>, поставьте точки в предложениях! Оформите ссылки тегом.</span><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=125010#p125010">http://forum.script-coding.com/viewtopi … 10#p125010</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=130224#p130224">http://forum.script-coding.com/viewtopi … 24#p130224</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=130241#p130241">http://forum.script-coding.com/viewtopi … 41#p130241</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=130245#p130245">http://forum.script-coding.com/viewtopi … 45#p130245</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=134718#p134718">http://forum.script-coding.com/viewtopi … 18#p134718</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=134719#p134719">http://forum.script-coding.com/viewtopi … 19#p134719</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=134723#p134723">http://forum.script-coding.com/viewtopi … 23#p134723</a><br /><a href="http://forum.script-coding.com/viewtopic.php?pid=134725#p134725">http://forum.script-coding.com/viewtopi … 25#p134725</a></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2019-06-21T03:52:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=134727#p134727</id>
		</entry>
</feed>
