<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12959&amp;type=atom" />
	<updated>2017-10-07T17:26:04Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12959</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119891#p119891" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong> А какой, следующий знак? тоже пробовал, не помогает(</p><p>Разобрался. Все ОК!</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-10-07T17:26:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119891#p119891</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119890#p119890" />
			<content type="html"><![CDATA[<p><strong>Vicoriyan</strong>, параметр, который вы выделили отвечает не за количество совпадений.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-10-07T17:03:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119890#p119890</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119889#p119889" />
			<content type="html"><![CDATA[<p>Внутри цикла вставить проверку значения встр. переменной A_Index. Если оно равно 10, то прервать цикл.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2017-10-07T16:56:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119889#p119889</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119888#p119888" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> С помощью %A_Index% я могу подсчитать строки, но как я могу с помощью %A_Index% назначить сколько строк парсить?</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-10-07T16:51:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119888#p119888</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119887#p119887" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong> стоит одно сопадение, но список огромный RET := Gdip_ImageSearch(pBitmap2,bmpNeedle,LIST,0,0,0,0,13,0xFFFFFF,<strong>1</strong>,0)</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-10-07T16:45:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119887#p119887</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119886#p119886" />
			<content type="html"><![CDATA[<p>В циклах существует встроенная внутренняя переменная %A_Index%.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2017-10-07T16:39:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119886#p119886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119884#p119884" />
			<content type="html"><![CDATA[<p>В функции Gdip_ImageSearch можно указать сколько совпадений найти.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-10-07T16:29:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119884#p119884</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119883#p119883" />
			<content type="html"><![CDATA[<p>Вопрос может немного не в тему, но как например спарсить со списка LIST только одну строку например?</p><div class="codebox"><pre><code>Loop, Parse, LIST, `n
{
   StringSplit, Coord, A_LoopField, `,
   MouseClick, , %Coord1%, %Coord2%, 1 , 0.5
}</code></pre></div><p>Сейчас на этом примере скрипт парсит список и кликает все координаты, что есть в списке. Можно поставить break, но можно ли, чтоб спарсить только одну строку? Или например спарсить тока первые 10 строк.</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-10-07T16:12:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119883#p119883</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119731#p119731" />
			<content type="html"><![CDATA[<p>Мозгов хватило мне вот на этот скрипт:</p><div class="codebox"><pre><code>Arr := Object()
Loop, Files, *.png
{
Arr.Insert(A_LoopFileLongPath)
}
hwnd := WinExist(&quot;A&quot;)
gdipToken := Gdip_Startup()
bmpHaystack := Gdip_BitmapFromHWND(hwnd)
loop % Arr.Length()
{
   bmpNeedle := Gdip_CreateBitmapFromFile(Arr[A_Index])
   RET := Gdip_ImageSearch(pBitmap2,bmpNeedle,LIST,0,0,0,0,13,0xFFFFFF,1,0)
   Gdip_DisposeImage(bmpNeedle)
   CoordMode, Mouse, Window
   Loop, Parse, LIST, `n
   {
      StringSplit, Coord, A_LoopField, `,
      MouseClick, , %Coord1%, %Coord2%, 1 , 0.5
        break 2
   }
}
Gdip_DisposeImage(bmpHaystack)
Gdip_Shutdown(gdipToken)
return</code></pre></div><p>Парсим все png файлы что есть в папке со скриптом и записываем в массив, а потом уже с массива берем по очереди путь и сравниваем.<br />Не знаю, на сколько это целесообразно и правильно, но работает.</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-10-03T10:22:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119731#p119731</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119631#p119631" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong> Убрал &quot;.png&quot; и поведение тоже странное. Не знаю даже как и объяснить. msgbox показывает огромный список координат и тока по оси X, а по оси Y - 0. И что самое странное, список от 0 и на +1 больше.</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-09-29T16:48:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119631#p119631</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119630#p119630" />
			<content type="html"><![CDATA[<p>А зачем вы к&nbsp; A_LoopFileLongPath добавляете &quot;.png&quot;?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-09-29T15:53:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119630#p119630</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119619#p119619" />
			<content type="html"><![CDATA[<p>Доброго времени суток. Помогите пожалуйста. не могу разобраться.<br />Есть скрипт:<br /></p><div class="codebox"><pre><code>
hwnd := WinExist(&quot;A&quot;)
gdipToken := Gdip_Startup()
bmpHaystack := Gdip_BitmapFromHWND(hwnd)
Loop, Files, *.png
{
   bmpNeedle := Gdip_CreateBitmapFromFile(A_LoopFileLongPath &quot;.png&quot;)
   RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,0,0,0,0,20,0xFFFFFF,1,0)
   Gdip_DisposeImage(bmpNeedle)
   msgbox %A_LoopFileLongPath% %LIST%
   CoordMode, Mouse, Window
   Loop, Parse, LIST, `n
   {
      StringSplit, Coord, A_LoopField, `,
      MouseClick, , %Coord1%, %Coord2%, 1 , 0.5
        break 2
   }
}
Gdip_DisposeImage(bmpHaystack)
Gdip_Shutdown(gdipToken)
return</code></pre></div><p>Задумка скрипта простая, сделать скриншот активного или неактивного окна, найти на нем картинку и кликнуть по месту, где было найдено совпадение. Проблема сейчас в следующем - не находятся координаты. Скрипт успешно находит окно, успешно делает скрин, успешно прописывает по очереди путь к картинкам с которыми нужно сравнивать, но не прописывает в переменную LIST координаты при активном окне. Всю картину можно увидеть в проверке msgbox %A_LoopFileLongPath% %LIST%. Что не так? Где ошибка?</p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-09-29T15:04:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119619#p119619</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=119588#p119588" />
			<content type="html"><![CDATA[<p>Попробовал код <a href="http://forum.script-coding.com/viewtopic.php?pid=118955#p118955">http://forum.script-coding.com/viewtopi … 55#p118955</a> и у меня ничего не вышло. Можно прописать конечный код получения скриншота неактивного окна? Например WinGet, task_id, ID, Безымянный — Блокнот.</p><p>Вопрос отпал. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Vicoriyan]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38658</uri>
			</author>
			<updated>2017-09-25T19:21:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=119588#p119588</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=118957#p118957" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />hwnd вот так находить?<br /></p><div class="codebox"><pre><code>WinGet, hwnd, ID, Косынка</code></pre></div><p>Всё сам разобрался! Спасибо ОГРОМНОЕ <strong>Malcev</strong></p>]]></content>
			<author>
				<name><![CDATA[Xuli4]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=37867</uri>
			</author>
			<updated>2017-08-30T21:01:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=118957#p118957</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Получение скриншота неактивного окна и поиск картинки в нём]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=118955#p118955" />
			<content type="html"><![CDATA[<p>Написал такой код:<br /></p><div class="codebox"><pre><code>#NoEnv
#include imagesearch.ahk
OnExit, EXIT_LABEL
F1::
WinGet, task_id, ID, Косынка
DllCall(&quot;PrintWindow&quot;, UInt,task_id, UInt,hdc_buffer, UInt,0)
gdipToken := Gdip_Startup()

;bmpHaystack := Gdip_CreateBitmapFromFile(&quot;in.png&quot;)
bmpHaystack := hdc_buffer
bmpNeedle := Gdip_CreateBitmapFromFile(&quot;for.png&quot;) 
RET := Gdip_ImageSearch(bmpHaystack,bmpNeedle,LIST,0,0,0,0,0,0xFFFFFF,1,0)
Gdip_DisposeImage(bmpHaystack)
Gdip_DisposeImage(bmpNeedle)
Gdip_Shutdown(gdipToken)
MsgBox, % &quot;Returned: &quot; RET &quot;`n`n&quot; LIST

return

EXIT_LABEL: ; be really sure the script will shutdown GDIP
Gdip_Shutdown(gdipToken)
EXITAPP</code></pre></div><p>В файле imagesearch.ahk код (без начала которое перенесено в этот файл) из поста Malcev.<br />Я определённо что-то не так делаю)<br />Нужно найти картинку колоды в косынке. В файле for.png и есть картинка этой колоды.</p>]]></content>
			<author>
				<name><![CDATA[Xuli4]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=37867</uri>
			</author>
			<updated>2017-08-30T20:58:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=118955#p118955</id>
		</entry>
</feed>
