<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: ImageSearch не всегда срабатывает]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6677</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6677&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: ImageSearch не всегда срабатывает».]]></description>
		<lastBuildDate>Sun, 22 Jan 2012 13:49:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55898#p55898</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Да, но я хотел это сделать для того, чтобы передать сразу несколько кликов без задержек.</p></blockquote></div><p>Не имеет смысла, всё равно обработка этих кликов целевой программой займёт больше времени.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sun, 22 Jan 2012 13:49:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55898#p55898</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55895#p55895</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Нет, наоборот замедлит(незначительно). Вопрос ведь был &quot;2) Возможно ли передать одной командой сразу несколько кликов в разные координаты, типа...&quot;</p></blockquote></div><p>Да, но я хотел это сделать для того, чтобы передать сразу несколько кликов без задержек.<br /></p><div class="quotebox"><blockquote><p>Если у нас есть три кнопки, то при запуске скрипта определяем их состояние и сохраняем в переменную. В дальнейшем проверяем все щелчки мышью в этом окне и корректируем значение переменных, если был клик по кнопке.</p></blockquote></div><p>Их там примерно 10 и они могут добавляться, убираться, становиться невидимыми на экране, так что наверное такое не прокатит</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sun, 22 Jan 2012 13:18:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55895#p55895</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55865#p55865</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А разве это ускорит отправку?</p></blockquote></div><p>Нет, наоборот замедлит(незначительно). Вопрос ведь был &quot;2) Возможно ли передать одной командой сразу несколько кликов в разные координаты, типа...&quot;<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Это как?</p></blockquote></div><p>Если у нас есть три кнопки, то при запуске скрипта определяем их состояние и сохраняем в переменную. В дальнейшем проверяем все щелчки мышью в этом окне и корректируем значение переменных, если был клик по кнопке.</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Sat, 21 Jan 2012 21:24:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55865#p55865</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55855#p55855</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>а этом примере проще всего создать функцию с заведомо бОльшим числом параметров чем необходимо, например функция:</p></blockquote></div><p>А разве это ускорит отправку?<br /></p><div class="quotebox"><blockquote><p>А если задержку поставить только в конец обработчика(возможно, чуть больше 100мс)?</p></blockquote></div><p>Поставил 100 и 100 - всё работат, видно нужна была пауза не между кликаньем по контролам, а между повторным нажатием PgDn и между выделением всех контролов.<br />Спасибо за наводку!<br /></p><div class="quotebox"><blockquote><p>Можно отслеживать состояние кнопок постоянно(т.е. узнать их состояние один раз и следить за действиями пользователя, способными изменить его), тогда в нужный момент не нужно будет ничего искать.</p></blockquote></div><p>Это как?<br />Пока скрипт такой<br /></p><div class="codebox"><pre><code>PgDn::
ErrorLevel := 0
n := 1
t := 590
while((!ErrorLevel)&amp;&amp;(n&lt;=10))
{
   ImageSearch, x%n%, y%n%, 410, t, 600, 1050, D:\video1.png
   t := y%n% + 10
   n++
}
Send, ^!1^!2{PgDn}!0!9   ;     Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off Toggle target video 1  Toggle target audio 1
sleep, 100
while(a_index&lt;n)
{
   ControlClick, % &quot;x&quot; x%a_index% &quot; y&quot; y%a_index%, ahk_class Premiere Pro
}
sleep, 100
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sat, 21 Jan 2012 18:07:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55855#p55855</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55846#p55846</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Можно свою функцию написать.</p></blockquote></div><p>Это как?</p></blockquote></div><p>На этом примере проще всего создать функцию с заведомо бОльшим числом параметров чем необходимо, например функция:<br /></p><div class="codebox"><pre><code>MyControlClick(ClassName, x1=-1, y1=-1, x2=-1, y2=-1, x3=-1, y3=-1, x4=-1, y4=-1, x5=-1, y5=-1)
{
   while((a_index&lt;=5)&amp;&amp;(x%a_index%!=-1))
   {
      Sleep, 100
      ControlClick,  x%x1% y%y1%, ahk_class%ClassName%
   }
}</code></pre></div><p>отправляет до пяти сообщений окну с указанным классом. Например вместо<br /></p><div class="codebox"><pre><code>sleep, 100
ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, ahk_class Premiere Pro
sleep, 100
ControlClick, % &quot;x&quot; x2 &quot; y&quot; y2, ahk_class Premiere Pro 
sleep, 100
ControlClick, % &quot;x&quot; x3 &quot; y&quot; y3, ahk_class Premiere Pro</code></pre></div><p>можно будет писать<br /></p><div class="codebox"><pre><code>MyControlClick(&quot;Premiere Pro&quot;, x1, y1, x2, y2, x3, y3)</code></pre></div><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>К сожалению нету такого способа.</p></blockquote></div><p>Можно отслеживать состояние кнопок постоянно(т.е. узнать их состояние один раз и следить за действиями пользователя, способными изменить его), тогда в нужный момент не нужно будет ничего искать.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Попробывал убрать<br />...<br />Если часто {PgDn} не нажимать, то работает.<br />Опять же надо проверить в деле.<br />Зато стало значительно быстрее.</p></blockquote></div><p>А если задержку поставить только в конец обработчика(возможно, чуть больше 100мс)?</p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Fri, 20 Jan 2012 20:01:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55846#p55846</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55768#p55768</link>
			<description><![CDATA[<p>Спасибо.<br />Всё-таки после тестирования без sleep, 100 часто глючит.<br />Без него, видимо, никак.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Wed, 18 Jan 2012 07:44:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55768#p55768</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55765#p55765</link>
			<description><![CDATA[<div class="quotebox"><cite>http://script-coding.com/AutoHotkey/ControlClick.html пишет:</cite><blockquote><p>Для улучшения надежности после каждого использования этой команды автоматически делается короткая задержка. Эта задержка может быть изменена заданием параметра <em>SetControlDelay</em>.</p></blockquote></div><p>С появлением картинки кажется понял, чего Вы добиваетесь.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Wed, 18 Jan 2012 06:18:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55765#p55765</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55763#p55763</link>
			<description><![CDATA[<p>Александр_, я искренне удивляюсь, как вы всю мою простыню уместили в пару строк <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />/<br />И что самое главное работает!<br />Код я ваш понял, но сам не знаю, когда смогу вот так написать <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br /></p><div class="quotebox"><blockquote><p>Найти способ определять состояние кнопок без ImageSearch.</p></blockquote></div><p>К сожалению нету такого способа.<br />Я уже ломал над этим голову.<br />ImageSearch - единственно возможный, так как эти кнопки вообще никак не определяются в window spy.<br />Для наглядности - вот эти кнопки Video1 Video2 Video3<br /><span class="postimg"><img src="http://www.efxi.ru/file/premiere_cs55_timeline.files/image005.gif" alt="http://www.efxi.ru/file/premiere_cs55_timeline.files/image005.gif" /></span><br />Я сделал принтскрин буковки &quot;d&quot;, так как под этими кнопками располагаются ещё Audio1 Audio2 Audio3.<br />А сама проблема с которой я борюсь описана тут под пунктом 2<br /><a href="http://www.efxi.ru/more/premiere_cs55_timeline.html">http://www.efxi.ru/more/premiere_cs55_timeline.html</a><br />Попробывал убрать </p><div class="codebox"><pre><code>Sleep 100</code></pre></div><p>Если часто {PgDn} не нажимать, то работает.<br />Опять же надо проверить в деле.<br />Зато стало значительно быстрее. <br />Казалось бы для 5 кнопок - пол-секунды экономия, а заметно, так как после этого шортката {PgDN} моментально выполняются другие действия и тут пол-секунды сбивают с ритма.<br /></p><div class="quotebox"><blockquote><p>Можно свою функцию написать.</p></blockquote></div><p>Это как?<br /></p><div class="quotebox"><blockquote><p>для улучшения читабельности кода нужно оставлять отступы</p></blockquote></div><p>Буду знать.<br />Спасибо!<br /></p><div class="quotebox"><blockquote><p>ControlClick нельзя посылать в несколько точек одновременно, хотя можно поочерёдно с очень коротким промежутком (в справке сказано как именно).</p></blockquote></div><p>Что-то я не нашёл<br /><a href="http://script-coding.com/AutoHotkey/ControlClick.html">http://script-coding.com/AutoHotkey/ControlClick.html</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 17 Jan 2012 22:38:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55763#p55763</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55762#p55762</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>3) И как это всё включить в цикл, чтобы не прописывать одно и то же, например для 10 картинок?</p></blockquote></div><p>как-то так:<br /></p><div class="codebox"><pre><code>ErrorLevel := 0
n := 1
t := 590
while((!ErrorLevel)&amp;&amp;(n&lt;=10))
{
   ImageSearch, x%n%, y%n%, 410, t, 600, 1050, C:\video1.png
   t := y%n% + 10
   n++
}
Send, ^!1^!2{PgDn}!0!9
while(a_index&lt;n)
{
   Sleep 100
   ControlClick, % &quot;x&quot; x%a_index% &quot; y&quot; y%a_index%, ahk_class Premiere Pro
}</code></pre></div><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>2) Возможно ли передать одной командой сразу несколько кликов в разные координаты, типа<br /></p><div class="codebox"><pre><code>ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, % &quot;x&quot; x2 &quot; y&quot; y2, % &quot;x&quot; x3 &quot; y&quot; y3, ahk_class Premiere Pro</code></pre></div></blockquote></div><p>Можно свою функцию написать.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>1) Как его можно ускорить?</p></blockquote></div><p>Найти способ определять состояние кнопок без ImageSearch.<br />И для улучшения читабельности кода нужно оставлять отступы(три пробела или одна табуляция) перед вложенными конструкциями(см. мой код). Желательно также включать подсветку синтаксиса, для этого в теге нужно указать язык:<br /></p><div class="codebox"><pre><code>[cоde=ahk][/cоde]
вместо
[cоde][/cоde]</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Tue, 17 Jan 2012 20:22:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55762#p55762</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55761#p55761</link>
			<description><![CDATA[<p>Если не успевает компьютер, не понятно, зачем ускорять скрипт. <br />ControlClick нельзя посылать в несколько точек одновременно, хотя можно поочерёдно с очень коротким промежутком (в справке сказано как именно).<br /></p><div class="quotebox"><blockquote><p>Так как вы считаете, возможно ли этот скрипт переделать в зацикливаемый и главное нужно ли?</p></blockquote></div><p>Это наверно вопрос самому себе. Мне лично не очень понятно, что у Вас на компьютере происходит, и какие преследуются цели. Если хочется за счёт цикла сделать код скрипта более компактным, почитайте про встроенную переменную <em>A_Index</em>. Она содержит номер итерации.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 17 Jan 2012 17:48:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55761#p55761</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55759#p55759</link>
			<description><![CDATA[<p>К сожалению это невозможно, так как компьютер не успевает выделять.<br />Так как вы считаете, возможно ли этот скрипт переделать в зацикливаемый и главное нужно ли?<br />И по поводу третьего вопроса. <br />Может ли ControlClick посылаться сразу в несколько точек одновременно?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 17 Jan 2012 17:28:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55759#p55759</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55758#p55758</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>1) Как его можно ускорить?</p></blockquote></div><p>Убрать задержки <em>sleep</em>.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 17 Jan 2012 17:23:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55758#p55758</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55756#p55756</link>
			<description><![CDATA[<p>А на что разбивать?<br />Алгоритм такой, находим подсвеченную картинку, запоминаем её координаты.<br />Потом следующую и так до конца всех картинок.<br />После этого убираем подсветку без помощи AHK.<br />После чего посылаем клики на запомненные координаты.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 17 Jan 2012 16:14:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55756#p55756</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55755#p55755</link>
			<description><![CDATA[<p>Наверно стоит разбить поставленную задачу на отдельные части и задавать вопросы более конкретно.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 17 Jan 2012 16:01:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55755#p55755</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch не всегда срабатывает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=55753#p55753</link>
			<description><![CDATA[<p>Модернизировал скрипт. (расставил слипы и убрал лишние клики, заменив их на изменённые координаты поиска)<br />Так всё работает.<br /></p><div class="codebox"><pre><code>PgDn::
{
ImageSearch, x1, y1, 410, 590, 600, 1050, C:\video1.png
If ErrorLevel   
{
Send, ^!1^!2{PgDn}!0!9   ;     Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off 
Return
}
ImageSearch, x2, y2, 410, y1+10, 600, 1050, C:\video1.png
If ErrorLevel
{
Send, ^!1^!2{PgDn}!0!9   ;     Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off 
sleep, 100
ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, ahk_class Premiere Pro        
Return
}    
ImageSearch, x3, y3, 410, y2+10, 600, 1050, C:\video1.png
If ErrorLevel
{
Send, ^!1^!2{PgDn}!0!9   ;   Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off 
sleep, 100
ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, ahk_class Premiere Pro
sleep, 100
ControlClick, % &quot;x&quot; x2 &quot; y&quot; y2, ahk_class Premiere Pro  
Return
}    
Send, ^!1^!2{PgDn}!0!9   ;   Toggle video all on Toggle audio all on PgDn Toggle video all off Toggle audio all off 
sleep, 100
ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, ahk_class Premiere Pro
sleep, 100
ControlClick, % &quot;x&quot; x2 &quot; y&quot; y2, ahk_class Premiere Pro 
sleep, 100
ControlClick, % &quot;x&quot; x3 &quot; y&quot; y3, ahk_class Premiere Pro
}</code></pre></div><p>Вопрос.<br />1) Как его можно ускорить?<br />2) Возможно ли передать одной командой сразу несколько кликов в разные координаты, типа<br /></p><div class="codebox"><pre><code>ControlClick, % &quot;x&quot; x1 &quot; y&quot; y1, % &quot;x&quot; x2 &quot; y&quot; y2, % &quot;x&quot; x3 &quot; y&quot; y3, ahk_class Premiere Pro</code></pre></div><p>3) И как это всё включить в цикл, чтобы не прописывать одно и то же, например для 10 картинок?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 17 Jan 2012 14:05:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=55753#p55753</guid>
		</item>
	</channel>
</rss>
