<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Клик по картинке]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=12414</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12414&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Клик по картинке».]]></description>
		<lastBuildDate>Sat, 08 Jul 2017 04:52:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=117162#p117162</link>
			<description><![CDATA[<p><strong>Malcev</strong>, спасибо, но я решил сделать подобную &quot;задачу&quot; с помощью JavaScript.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Sat, 08 Jul 2017 04:52:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=117162#p117162</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=117161#p117161</link>
			<description><![CDATA[<div class="quotebox"><cite>svoboden пишет:</cite><blockquote><p>Вопрос по &quot;Image Search&quot;. Есть скрипт, который прокручивает список видеофайлов на ютубе (т.е. кликает на иконку &quot;&gt;&quot;):<br /></p><div class="codebox"><pre><code>array := [A_ScriptDir &quot;\file.png&quot;]

Loop % Array.MaxIndex()
{
    CoordMode, Pixel, Window
    ImageSearch, x, y, 40, 40, A_ScreenWidth, A_ScreenHeight, % array[A_Index]
    If ErrorLevel = 0
    ControlClick, % &quot;x&quot; x &quot; y&quot; y, ahk_class Chrome_WidgetWin_1
}
return</code></pre></div><p>Работает все нормально, но когда курсор находится на миниатюре видеофайла, скрипт не работает. Что надо поправить в коде, чтобы скрипт работал? Спасибо!</p></blockquote></div><br /><p>Чтобы заработал нужно это:<br /></p><div class="codebox"><pre><code>ControlClick, % &quot;x&quot; x &quot; y&quot; y, ahk_class Chrome_WidgetWin_1</code></pre></div><p>заменить на:<br /></p><div class="codebox"><pre><code>ControlClick, % &quot;x&quot; x &quot; y&quot; y, A</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Sat, 08 Jul 2017 04:47:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=117161#p117161</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=115983#p115983</link>
			<description><![CDATA[<p>Чтобы запустилось нужна библиотека gdip.<br />Скрипт делает снимок экрана поверх всех окон, после чего хром реагирует на контролклик.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 22 May 2017 07:32:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=115983#p115983</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=115982#p115982</link>
			<description><![CDATA[<p>Это какой-то сложный способ, и у меня не запускается. Нашел проще с помощью iMacros&#039;а.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Mon, 22 May 2017 04:10:26 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=115982#p115982</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113562#p113562</link>
			<description><![CDATA[<p>Вот так будет работать без mousemove:<br /></p><div class="codebox"><pre><code>f1::
pToken := Gdip_Startup()
Gui, -Caption +E0x80000 +AlwaysOnTop +ToolWindow +hwndhGui
Gui, Show, NA

hbm := CreateDIBSection(A_ScreenWidth, A_ScreenHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
pBitmap := Gdip_BitmapFromScreen()
Gdip_DrawImage(G, pBitmap)
UpdateLayeredWindow(hGui, hdc, 0, 0, A_ScreenWidth, A_ScreenHeight)

SelectObject(hdc, obm)
DeleteObject(hbm)
Gdip_DisposeImage(pBitmap)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_Shutdown(pToken)
ControlClick, x1700 y285, ahk_class Chrome_WidgetWin_1
Gui, Destroy
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 03 Mar 2017 15:09:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113562#p113562</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113527#p113527</link>
			<description><![CDATA[<p><strong>Malcev</strong>, нет, листать список видеофайлов кнопками не получится. А насчет ControlClick`а - я заменил его на обычный Click.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Thu, 02 Mar 2017 20:48:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113527#p113527</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113526#p113526</link>
			<description><![CDATA[<p>В ControlClick есть параметры SetControlDelay и NA.<br />Можно с ними попробовать.<br /><a href="https://autohotkey.com/docs/commands/ControlClick.htm">https://autohotkey.com/docs/commands/ControlClick.htm</a><br />А вообще зачем так сложно переключать видео?<br />У ютуба же есть шотркаты: +N, +P.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 02 Mar 2017 19:18:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113526#p113526</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113523#p113523</link>
			<description><![CDATA[<p><strong>KusochekDobra</strong>, спасибо, но я уже написал правильный ответ выше. Так сказать, сам задал вопрос, сам на него и ответил. <a href="http://smayliki.ru/smilie-233828295.html"><span class="postimg"><img src="http://s2.rimg.info/5602a4cac8909fc6c1ce0e23fa5bdb6d.gif" alt="http://s2.rimg.info/5602a4cac8909fc6c1ce0e23fa5bdb6d.gif" /></span></a>.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Thu, 02 Mar 2017 16:59:34 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113523#p113523</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113520#p113520</link>
			<description><![CDATA[<p>Привет.<br />Видимо, нужно убирать курсор. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Можно так же попробовать манипулировать страницей браузера отправляя ей оконные сообщения, словно бы происходит то же самое, что обычно приходится делать мышкой:<br /></p><div class="codebox"><pre><code>
while (true) {
	
	if (GetKeyState(&quot;sc10&quot;)) { ; Кнопка Q
		while (GetKeyState(&quot;sc10&quot;))
			Sleep, 10
		MouseGetPos, myX, myY
		;Send {sc1D down}	; Ctrl - открывать ссылки в новой вкладке
		SendLclk(myX, myY, Hget(myX, myY))	; Сообщает клик
		;Send {sc1D up}
	} else if (GetKeyState(&quot;sc11&quot;)) {  ; Кнопка W
		MouseGetPos, myX, myY
		SendWheel(myX, myY, Hget(myX, myY), 2, 1)
	} else if (GetKeyState(&quot;sc1F&quot;)) {  ; Кнопка S
		MouseGetPos, myX, myY
		SendWheel(myX, myY, Hget(myX, myY), 2, -1)
	} else if (GetKeyState(&quot;sc1E&quot;)) {  ; Кнопка A
		MouseGetPos, myX, myY
		SendHscroll(Hget(myX, myY), 0)
	} else if (GetKeyState(&quot;sc20&quot;)) {  ; Кнопка D
		MouseGetPos, myX, myY
		SendHscroll(Hget(myX, myY), 1)
	}
	sleep 50
}
; Для CoordMode, Mouse, Screen
SendLclk(new_x, new_y, varControl) {
	WinGetPos, hw_x, hw_y,,, ahk_id %varControl%
	l_param := % (new_x - hw_x) + ((new_y - hw_y) * 65536)
	SendMessage, 0x0201, 0x0001, %l_param%, , ahk_id %varControl%
	sleep 50
	SendMessage, 0x0202, 0x0000, %l_param%, , ahk_id %varControl%
}
SendRclk(new_x, new_y, varControl) {
	WinGetPos, hw_x, hw_y,,, ahk_id %varControl%
	l_param := % (new_x - hw_x) + ((new_y - hw_y) * 65536)
	SendMessage, 0x0204, 0x0002, %l_param%, , ahk_id %varControl%
	sleep 50
	SendMessage, 0x0205, 0x0000, %l_param%, , ahk_id %varControl%
}
; Скролит окно. По умолчанию вверх, со скоростью = speed. Вниз =&gt; последний параметр = -1
SendWheel(new_x, new_y, varControl, speed := 1, route := 1) {
	Scroll := (speed*100*route)&lt;&lt;16
	WinGetPos, hw_x, hw_y,,, ahk_id %varControl%
	l_param := % (new_x - hw_x) + ((new_y - hw_y) * 65536)
	SendMessage, 0x20A, %Scroll%, %l_param%, , ahk_id %varControl%
}
; Скролит окно. route = 0 - вправо, route = 1 - влево.
SendHscroll(varControl, route) {
	SendMessage, 0x114, %route%,,,ahk_id %varControl%
}
; Возвращает хендл окна по координатам
Hget(x, y) {
	return % DllCall(&quot;WindowFromPoint&quot;, &quot;int64&quot;, x &amp; 0x00000000FFFFFFFF | y&lt;&lt;32)
}
</code></pre></div><p>Кнопки, которые ожидаются в теле цикла - подписаны. Наводишь курсор на элемент, давишь кнопку, смотришь результат, модифицируешь под свои нужды.<br />Так же, есть официальное утверждение, что следует пользовать &quot;PostMessage&quot; вместо &quot;SendMessage&quot;, так что стоит иметь это ввиду, если &quot;что-то пойдёт не так&quot;. Но у меня в Chrome работает без проблем.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Thu, 02 Mar 2017 14:57:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113520#p113520</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=113508#p113508</link>
			<description><![CDATA[<div class="codebox"><pre><code>array := [A_ScriptDir &quot;\file.png&quot;]

Loop % Array.MaxIndex() 
{
    MouseGetPos, xpos, ypos 
    CoordMode, Pixel, Window
    ImageSearch, x, y, 0, 0, 1366, 768, % array [A_Index]
    If ErrorLevel = 0
    Click %x%, %y%
    MouseMove, %xpos%, %ypos%
    if ErrorLevel = 0
    ExitApp
}
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Thu, 02 Mar 2017 06:29:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=113508#p113508</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Клик по картинке]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111979#p111979</link>
			<description><![CDATA[<p>Вопрос по &quot;Image Search&quot;. Есть скрипт, который прокручивает список видеофайлов на ютубе (т.е. кликает на иконку &quot;&gt;&quot;):<br /></p><div class="codebox"><pre><code>array := [A_ScriptDir &quot;\file.png&quot;]

Loop % Array.MaxIndex()
{
    CoordMode, Pixel, Window
    ImageSearch, x, y, 40, 40, A_ScreenWidth, A_ScreenHeight, % array[A_Index]
    If ErrorLevel = 0
    ControlClick, % &quot;x&quot; x &quot; y&quot; y, ahk_class Chrome_WidgetWin_1
}
return</code></pre></div><p>Работает все нормально, но когда курсор находится на миниатюре видеофайла, скрипт не работает. Что надо поправить в коде, чтобы скрипт работал? Спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Tue, 07 Feb 2017 17:04:23 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111979#p111979</guid>
		</item>
	</channel>
</rss>
