<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: IAccessible]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9319</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9319&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: IAccessible».]]></description>
		<lastBuildDate>Wed, 23 Jul 2014 12:10:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85036#p85036</link>
			<description><![CDATA[<p>Большое спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (fwant)]]></author>
			<pubDate>Wed, 23 Jul 2014 12:10:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85036#p85036</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85034#p85034</link>
			<description><![CDATA[<p>IAccessible здесь не при чём. Нужно просто знать правила передачи параметров в функцию.<br />Переменная: MyFunc(var)<br />Строка: MyFunc(&quot;string&quot;)<br />Строка с переменной: MyFunc(&quot;string&quot; . var)<br />Переменная внутри строки: MyFunc(&quot;part1&quot; . var . &quot;part2&quot;)</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 23 Jul 2014 12:06:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85034#p85034</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85024#p85024</link>
			<description><![CDATA[<p>Добрый день!<br />Столкнулся с такой проблемой: В программе задана таблица, необходимо взять 10ый элемент каждой строки. Обычным методом не получается, только через IAccessible. Докопал до адреса, но нельзя задать переменную в куске Path:<br /></p><div class="codebox"><pre><code>AccObj := Acc_Get(&quot;Object&quot;, &quot;4.4.4.1.4.2.4.1.4.1.4.2.4.1.4.4.10&quot; , ,&quot;A&quot;)
case2 := AccObj.accvalue(0)
AccObj := Acc_Get(&quot;Object&quot;, &quot;4.4.4.1.4.2.4.1.4.1.4.2.4.1.4.5.10&quot; , ,&quot;A&quot;)
case3 := AccObj.accvalue(0)</code></pre></div><p>Меняется только предпоследняя строка.<br />При использовании переменной как части строки, либо целиком строчкой,&nbsp; не получается получить данное значение:<br /></p><div class="codebox"><pre><code>AccObj := Acc_Get(&quot;Object&quot;, var , ,&quot;A&quot;)
AccObj := Acc_Get(&quot;Object&quot;, &quot;%var%&quot; , ,&quot;A&quot;)
AccObj := Acc_Get(&quot;Object&quot;, %var% , ,&quot;A&quot;)
AccObj := Acc_Get(&quot;Object&quot;, &quot;4.4.4.1.4.2.4.1.4.1.4.2.4.1.4.%var%.10&quot; , ,&quot;A&quot;)</code></pre></div><p>Не выдают значение.</p>]]></description>
			<author><![CDATA[null@example.com (fwant)]]></author>
			<pubDate>Wed, 23 Jul 2014 10:21:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85024#p85024</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83537#p83537</link>
			<description><![CDATA[<p>Спасибо! То, что надо.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 30 May 2014 18:28:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83537#p83537</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83536#p83536</link>
			<description><![CDATA[<p>Как-то так:<br /></p><div class="codebox"><pre><code>F11::
   If !AccObj := ExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)
      MsgBox, нет
   else
   {
      While Acc_State(AccObj) != &quot;invisible&quot;
         Sleep, 1000
      MsgBox, invisible
   }
   return 

ExistAccDescription(winid, Desc)
{
   if (!(AccObj := Acc_ObjectFromWindow(winid)) &amp;&amp; Error := &quot;Не удалось получить IAccessible&quot;)
      Return 0, DllCall(&quot;MessageBox&quot;, Ptr, 0, Str, Error, Str, &quot;&quot;, UInt, 0) 
   Return FindAccDescription(AccObj, Desc)
}    

FindAccDescription(AccObj, Desc)
{    
   try if (AccObj.accDescription(0) = Desc)  
      Return AccObj

   for k, v in Acc_Children(AccObj)
      if AccObj := FindAccDescription(v, Desc)  
         Return AccObj
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 30 May 2014 18:16:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83536#p83536</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83527#p83527</link>
			<description><![CDATA[<p>Ой, плохо посмотрел, с телефона пишу <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />. Попозже.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 30 May 2014 10:15:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83527#p83527</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83526#p83526</link>
			<description><![CDATA[<p>Спасибо, но тут нету ни слова о: <br /></p><div class="quotebox"><blockquote><p>Если же есть, то он ждал бы пока его State станет invisible и тогда выдал бы msgbox.</p></blockquote></div><p>&nbsp; &nbsp; </p><div class="codebox"><pre><code>try if instr(AccObj.accDescription(0), Desc) and (AccObj.accState(0), &quot;invisible&quot;)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 30 May 2014 10:07:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83526#p83526</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83522#p83522</link>
			<description><![CDATA[<div class="codebox"><pre><code>F11::
If !ExistAccDescription(hWnd := WinExist(&quot;A&quot;), &quot;ready&quot;)
{
    MsgBox, нет
    While !ExistAccDescription(hWnd, &quot;ready&quot;)
        Sleep, 1000
}
MsgBox, есть
return 

ExistAccDescription(winid, Desc)
{
    static AccObj
    if !AccObj
        if !AccObj := Acc_ObjectFromWindow(winid)
            Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return FindAccDescription(AccObj, Desc) ? 1 : 0
}    

FindAccDescription(AccObj, Desc)
{    
    try if (AccObj.accDescription(0) = Desc)  
        Return 1

    for k, v in Acc_Children(AccObj)
        if FindAccDescription(v, Desc)  
            Return 1
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 30 May 2014 07:21:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83522#p83522</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83510#p83510</link>
			<description><![CDATA[<p>Спасибо!<br />Мне надо чтобы скрипт сначала проверил есть ли такой Description вообще.<br />Если нету, то выдал msgbox.<br />Если же есть, то он ждал бы пока его State станет invisible и тогда выдал бы msgbox.<br />В итоге получилась простыня, уверен, что можно короче.<br /></p><div class="codebox"><pre><code>f11::
If !NotExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)  
   MsgBox Not Exist

Loop
   If ExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)  
      MsgBox Exist


NotExistAccDescription(winid, Desc)
{
    static AccObj
    if !AccObj
        if !AccObj := Acc_ObjectFromWindow(winid)
            Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return NotFindAccDescription(AccObj, Desc) ? 1 : 0
}     

NotFindAccDescription(AccObj, Desc)
{    
    try if instr(AccObj.accDescription(0), Desc)
        Return 1

    for k, v in Acc_Children(AccObj)
        if NotFindAccDescription(v, Desc)  
            Return 1
}  


ExistAccDescription(winid, Desc)
{
    if !IsObject(AccObj := Acc_ObjectFromWindow(winid))
        Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return FindAccDescription(AccObj, Desc) ? 1 : 0
} 

FindAccDescription(AccObj, Desc)
{    
    try if instr(AccObj.accDescription(0), Desc) and (AccObj.accState(0), &quot;invisible&quot;)
        Return 1

    for k, v in Acc_Children(AccObj)
        if FindAccDescription(v, Desc)  
            Return 1
}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 30 May 2014 00:43:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83510#p83510</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83508#p83508</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="codebox"><pre><code>
Loop
    If ExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)  
        MsgBox
    return 

ExistAccDescription(winid, Desc)
{
    if !IsObject(AccObj := Acc_ObjectFromWindow(winid))
        Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return FindAccDescription(AccObj, Desc) ? 1 : 0
}    

FindAccDescription(AccObj, Desc)
{    
    try if (AccObj.accDescription(0) = Desc)  
        Return 1

    for k, v in Acc_Children(AccObj)
        if FindAccDescription(v, Desc)  
            Return 1
}  
</code></pre></div></blockquote></div><p>Зачем здесь <em>Loop</em>?<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>чтобы перебрав все acc-объекты и не найдя в их Description слово Ready скрипт выдал Msgbox?</p></blockquote></div><div class="codebox"><pre><code>
If !ExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)  
    MsgBox
return 

ExistAccDescription(winid, Desc)
{
    static AccObj
    if !AccObj
        if !AccObj := Acc_ObjectFromWindow(winid)
            Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return FindAccDescription(AccObj, Desc) ? 1 : 0
}    

FindAccDescription(AccObj, Desc)
{    
    try if (AccObj.accDescription(0) = Desc)  
        Return 1

    for k, v in Acc_Children(AccObj)
        if FindAccDescription(v, Desc)  
            Return 1
}  </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 29 May 2014 22:56:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83508#p83508</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83507#p83507</link>
			<description><![CDATA[<p>Что-то бьюсь-бьюсь и не получается никак сделать:<br />чтобы перебрав все acc-объекты и не найдя в их Description слово Ready скрипт выдал Msgbox?<br />И есть ли альтернатива Microsoft Active Accessibility, так-как в моем случае (Adobe Premiere CC) поле программы показывается как просто Client без Description и без Children, хотя слова в нем есть.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 29 May 2014 21:48:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83507#p83507</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83391#p83391</link>
			<description><![CDATA[<p>Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 27 May 2014 16:44:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83391#p83391</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83366#p83366</link>
			<description><![CDATA[<div class="codebox"><pre><code>
Loop
    If ExistAccDescription(WinExist(&quot;A&quot;), &quot;ready&quot;)  
        MsgBox
    return 

ExistAccDescription(winid, Desc)
{
    if !IsObject(AccObj := Acc_ObjectFromWindow(winid))
        Return 0 ;  &quot;Не удалось получить IAccessible&quot;  
    Return FindAccDescription(AccObj, Desc) ? 1 : 0
}    

FindAccDescription(AccObj, Desc)
{    
    try if (AccObj.accDescription(0) = Desc)  
        Return 1

    for k, v in Acc_Children(AccObj)
        if FindAccDescription(v, Desc)  
            Return 1
}  
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 27 May 2014 09:08:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83366#p83366</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=83363#p83363</link>
			<description><![CDATA[<div class="codebox"><pre><code>AccObj := Acc_Get(&quot;Object&quot;, &quot;2.5.3.9&quot;, &quot;&quot;, &quot;A&quot;)   ; получаем ссылку на acc-объект по пути 2.5.3.9 из активного окна
try Description := AccObj.accDescription(0)</code></pre></div><p>А если этот путь все время меняется, можно как-то получить Description, перебирая все acc-объекты?<br />Цель получить msgbox когда окно программы выдаст надпись ready.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 27 May 2014 04:27:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=83363#p83363</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: IAccessible]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81205#p81205</link>
			<description><![CDATA[<p>Благодарю за ясность.<br />С координатами я сам додумался. Соблазн был велик без них обойтись. Жаль.</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;По существу проблемы я в недоумении.</div><div class="fancy_spoiler"><p>Пока статистики достаточной нет, но один из откликнувшихся посоветовал при нажатом Alt просто еще раз (второй) нажать Shift&nbsp; и это... действительно работает. Однако, сколько при нажатом Ctrl не жму Tab - ноль эффекта. Какое-то свирепое колдунство. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p></div></div>]]></description>
			<author><![CDATA[null@example.com (многобанофф)]]></author>
			<pubDate>Tue, 25 Mar 2014 17:54:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81205#p81205</guid>
		</item>
	</channel>
</rss>
