<?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=12724</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12724&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Копирование текста из скрытых окон».]]></description>
		<lastBuildDate>Fri, 03 Nov 2017 13:00:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=120721#p120721</link>
			<description><![CDATA[<p>Вот это поворот! Оказывается команде движения курсора нужно передавать текущее состояние модификаторов и кнопок.<br /><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms645616(v=vs.85).aspx">msdn — WM_MOUSEMOVE message parameters</a></p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Fri, 03 Nov 2017 13:00:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=120721#p120721</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=120717#p120717</link>
			<description><![CDATA[<p>Кстати, <strong>stealzy</strong>, у вас в 17 коде ошибка.<br />Вместо <br /></p><div class="codebox"><pre><code>PostMessage, 0x200, 0, % lParam(x+=20, y),, % t</code></pre></div><p>Надо<br /></p><div class="codebox"><pre><code>PostMessage, 0x200, 0x1, % lParam(x+=20, y),, % t</code></pre></div><p>С этим исправлением будет работать и в хроме и в интернет эксплорере.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 03 Nov 2017 12:31:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=120717#p120717</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=120716#p120716</link>
			<description><![CDATA[<p>У меня работает.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Fri, 03 Nov 2017 09:12:11 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=120716#p120716</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=120714#p120714</link>
			<description><![CDATA[<p><strong>Malcev</strong> Пример от stealzy <a href="http://forum.script-coding.com/viewtopic.php?pid=116409#p116409">http://forum.script-coding.com/viewtopi … 09#p116409</a> работает для firefox, а Ваш для Google Chrome нет.</p>]]></description>
			<author><![CDATA[null@example.com (Vicoriyan)]]></author>
			<pubDate>Fri, 03 Nov 2017 08:40:38 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=120714#p120714</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116418#p116418</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 (Malcev)]]></author>
			<pubDate>Tue, 06 Jun 2017 11:47:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116418#p116418</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116416#p116416</link>
			<description><![CDATA[<p><strong>Malcev</strong>, вам то зачем эти костыли, когда есть Selenium, WinHttp, vk API?</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Tue, 06 Jun 2017 11:01:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116416#p116416</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116414#p116414</link>
			<description><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>Я испытывал для просто неактивного окна, но вы упустили DetectHiddenWindow On в вашем коде.</p></blockquote></div><p>В моём коде он не нужен, так как PostMessage идет напрямую к контролу.<br />Да, действительно для Лисы нужно посылать PostMessage, 0x200.<br />И у меня при при посылке сообщений в скрытое окно лисы, оно не появляется:<br /></p><div class="codebox"><pre><code>DetectHiddenWindows on
winhide, ahk_id 0x60a58
PostMessage, 0x200, 0, ((320&lt;&lt;16)^700),, ahk_id 0x60a58
sleep 1
PostMessage, 0x201, 0x1, ((320&lt;&lt;16)^700),, ahk_id 0x60a58
sleep 1
PostMessage, 0x200, 0, ((620&lt;&lt;16)^800),, ahk_id 0x60a58
sleep 1
PostMessage, 0x202,, ((620&lt;&lt;16)^800),, ahk_id 0x60a58
return</code></pre></div><p>С гуглхромом так не сработает и ему надо посылать shift+LClick:<br /></p><div class="codebox"><pre><code>F1::
winhide, Серый форум - Google Chrome
PostMessage, 0x201, 0x1, ((320&lt;&lt;16)^700),, ahk_id 0x13037a   ; id контрола=0x13037a
PostMessage, 0x202,, ((320&lt;&lt;16)^700),, ahk_id 0x13037a
PostMessage, 0x201, 0x4 | 0x1, ((620&lt;&lt;16)^800),, ahk_id 0x13037a
PostMessage, 0x202, 0x4, ((620&lt;&lt;16)^800),, ahk_id 0x13037a
return</code></pre></div><p>С IE не работает ни один ни другой вариант.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 06 Jun 2017 09:18:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116414#p116414</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116409#p116409</link>
			<description><![CDATA[<p><strong>Malcev</strong>, это был чисто логический вывод, т.к. очевидно, что отправки двух сообщений вида: лкм зажата, лкм отжата в двух координатах недостаточно для выделения.<br />Ну вот, сходу написал, в моем firefox отлично работает даже без активации окна:<br /></p><div class="codebox"><pre><code>t := &quot;ahk_exe firefox.exe&quot;
CoordMode Mouse, Screen
MouseGetPos x, y
WinGetPos xW, yW,,, % t

PostMessage, 0x201, 1, % lParam(x-=xW, y-=yW),, % t
Loop 10
	PostMessage, 0x200, 0, % lParam(x+=20, y),, % t
PostMessage, 0x202, 0, % lParam(x, y),, % t

lParam(x, y) {
	Return lParam := x &amp; 0xFFFF | (y &amp; 0xFFFF) &lt;&lt; 16 
}</code></pre></div><p>Что интересно, работает даже для свернутого окна, но оно в этом случае активируется.<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>winhide</p></blockquote></div><p>Я испытывал для просто неактивного окна, но вы упустили DetectHiddenWindow On в вашем коде.<br />UPD: Скрытое winhide окно лисы проявляется при получении PostMessage. В любом случае, не думаю, что можно копировать из скрытого winhide окна. Есть и другие методы скрытия.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Tue, 06 Jun 2017 05:02:12 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116409#p116409</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116406#p116406</link>
			<description><![CDATA[<div class="quotebox"><cite>alekstankist111 пишет:</cite><blockquote><p>ControlClick, D X375 Y220, AAA - Google Chrome</p></blockquote></div><p>А где вы прочитали, что D может идти вторым параметром?<br /></p><div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>В вашем скрипте между нажатием и отжатием не хватает передачи окну сообщений движения курсора (WM_MOUSEMOVE = 0x200) с помощью PostMessage</p></blockquote></div><p>Работающий пример приведёте?<br />Гугл Хром у меня реагирует на отправление Shift+MouseClick, IE и Firefox же нет.<br />Не знаю почему.<br /></p><div class="codebox"><pre><code>F1::
winhide, Серый форум - Google Chrome
PostMessage, 0x201, 0x1, ((320&lt;&lt;16)^700),, ahk_id 0x13037a   ; id контрола=0x13037a
PostMessage, 0x202,, ((320&lt;&lt;16)^700),, ahk_id 0x13037a
PostMessage, 0x201, 0x4 | 0x1, ((620&lt;&lt;16)^500),, ahk_id 0x13037a
PostMessage, 0x202, 0x4, ((620&lt;&lt;16)^500),, ahk_id 0x13037a
winshow, Серый форум - Google Chrome
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 05 Jun 2017 21:58:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116406#p116406</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116365#p116365</link>
			<description><![CDATA[<p>Если речь идет об автоматизации браузеров, то, думаю, нужен JavaScript, по AutoHotkey можно только активировать пользовательский JavaScript.</p>]]></description>
			<author><![CDATA[null@example.com (svoboden)]]></author>
			<pubDate>Sun, 04 Jun 2017 14:24:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116365#p116365</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116363#p116363</link>
			<description><![CDATA[<p>Я писал про firefox, у меня там все работает.<br />У vk есть API, тут даже есть темы про работу с ним.<br />А еще можно через WinHttp:<br /></p><div class="codebox"><pre><code>vkid := &quot;id123456789&quot;, login := &quot;+79876543210&quot;, pass := &quot;p@ssword&quot;

; Константы, используемые в WinHttpRequest
global WinHttpRequestOption_EnableRedirects := 6, WinHttpRequestOption_MaxAutomaticRedirects := 14, WinHttpRequestOption_EnableHttpsToHttpRedirects := 12

; Создаём объект для запросов по HTTP протоколу
global oHttpRequest := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
;Включаем автоматические редиректы
oHttpRequest.Option(WinHttpRequestOption_EnableRedirects) := -1
;Включаем автоматические редиректы с HTTP на HTTPS
oHttpRequest.Option(WinHttpRequestOption_EnableHttpsToHttpRedirects) := -1
;Выставляем максимальное количество редиректов
oHttpRequest.Option(WinHttpRequestOption_MaxAutomaticRedirects) := 20

writeLn(&quot;Загружаем основную страницу сайта&quot;)
; Загружаем основную страницу входа
oHtmlDoc1 := documentFromURL(&quot;https://vk.com/&quot;)
writeLn(&quot;Получаем первую форму&quot;)
; Получаем первую по счёту форму
oForm := oHtmlDoc1.forms[0]
; Заполняем в форме поле email и пароль
oForm[&quot;email&quot;].value := login
oForm[&quot;pass&quot;].value := pass
; Эмулируем отправку формы
submitForm(oForm)
; Проверяем - есть ли в тексте сообщение о том, что авторизация прошла успешно
if (InStr(oHttpRequest.ResponseText, &quot;LoginDone&quot;) &lt;= 0) {
	MsgBox % &quot;Авторизация не удалась ! Проверьте логин и пароль&quot;
	Exit
}
; Загружаем страницу профиля
oHtmlDoc2 := documentFromURL(&quot;https://vk.com/&quot; vkid)
; Получаем ссылку на наш основной профиль и &quot;переходим по ней&quot;
; oHtmlDoc := documentFromURL(oHtmlDoc2.GetElementByID(&quot;l_pr&quot;).left_row)
; Выводим текст из блока с именем и фамилией
MsgBox % oHtmlDoc2.GetElementByID(&quot;page_info_wrap&quot;).innerText
Return

; Функция загрузки и построения документа с указанного URL
documentFromURL(sURL) {
	writeLn(&quot;documentFromURL&quot;)
	writeLn(&quot;   URL: &quot; . sURL)
	oHttpRequest.Open(&quot;GET&quot;, sURL, false)
	oHttpRequest.Send()
	return documentFromHTML(oHttpRequest.responseText, sURL)
}
; Функция создания документа из HTML кода
documentFromHTML(ByRef sHTMLCode, ByRef sBaseURL) {
	writeLn(&quot;documentFromHTML&quot;)
	writeLn(&quot;   Base URL: &quot; . sBaseURL)
	; Создаём объект для парсинга HTML кода
	oDoc := ComObjCreate(&quot;htmlfile&quot;)
	oDoc.open()
	; Вставляем базовый тэг чтобы у относительных ссылок была верная адрессация от базового адреса
	oDoc.write(&quot;&lt;base href=&quot;&quot;&quot; . sBaseURL . &quot;&quot;&quot;&gt;&quot;)
	oDoc.close()
	;oDoc.write(sHTMLCode)
	oDoc.body.innerHTML := sHTMLCode
	return oDoc
}
; Функция эмулятор отправки формы
submitForm(ByRef oForm){
	writeLn(&quot;submitForm&quot;)
	; Получаем ссылку на объект Window от документа формы
	oScript := oForm.document.Script
	; Сборка строки запроса формы
	loop , % oForm.elements.length
	{
		i++
		if oForm.elements[i].name != &quot;&quot;
		{
			; Собираем значения полей формы в строку и кодируем их имена и значения
			sBody .= oScript.encodeURIComponent(oForm.elements[i].name) . &quot;=&quot; . oScript.encodeURIComponent(oForm.elements[i].value) . &quot;&amp;&quot;
		}
	}
	StringLeft, sBody, sBody, StrLen(sBody)-1

	; Получаем текущий адрес на котором мы находимся (для заполнения referer и настройки свойства &quot;action&quot; формы )
	sCurrentURL := oHttpRequest.Option(1)
	; Для формы BASE hRef не срабатывает, поэтому искусственно вычисляем полный путь запроса формы
	oForm.action := buildURL(sCurrentURL,oForm.action)

	writeLn(&quot;   Referer: &quot; . sCurrentURL)
	writeLn(&quot;   form action: &quot; . oForm.action)
	writeLn(&quot;   Body: &quot; . sBody)

	oHttpRequest.open(&quot;POST&quot;, oForm.action, false)
	; Указываем метод кодирования данных
	oHttpRequest.setRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;)
	; Выставляем Referer, дабы сайты не ругались, что мы себя плохо ведём.
	if sCurrentURL != &quot;&quot;
	{
		oHttpRequest.setRequestHeader(&quot;Referer&quot;, sCurrentURL)
	}
	; Отправляем данные формы
	oHttpRequest.send(sBody)
}
; Функция для построения полного пути из относительного для URL
buildURL(ByRef sBaseURL, ByRef sURL) {
	; Создаём HTML документ с единственной ссылкой
	oDoc := documentFromHTML(&quot;&lt;a href=&quot;&quot;&quot; . sURL . &quot;&quot;&quot;&gt;&quot;, sBaseURL)
	; Берём href от этой ссылки.
	return oDoc.all.tags(&quot;a&quot;)[0].href
}
; Функция для вывода строки в консоль
writeLn(text){
	FileAppend % text &quot;`n&quot;, *
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sun, 04 Jun 2017 13:16:59 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116363#p116363</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116362#p116362</link>
			<description><![CDATA[<p><strong>stealzy</strong>, к сожалению, в IE тоже не работает, по крайней мере, PostMessage. <br />Сайт ВК, требуется копировать сообщение (и, в дальнейшем, вставлять его в текстовый файл, но с этим проблем нет).<br />Есть другие способы? Основная загвоздка в том, чтобы делать это мгновенно, сразу после получения сообщения. Сам механизм такого реагирования меня не интересует, с ним я справляюсь, основную проблему представляет именно копирование из области скрытого окна.<br /></p><div class="codebox"><pre><code>
F1::
WinHide, AAA - Internet Explorer
ControlClick, D X375 Y220, AAA - Internet Explorer
sleep, 1
PostMessage, 0x200,,,, AAA - Internet Explorer
sleep, 1
ControlClick, U X760 Y390, AAA - Internet Explorer  
sleep, 1
ControlSend ^{vk43}, AAA - Internet Explorer
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alekstankist111)]]></author>
			<pubDate>Sun, 04 Jun 2017 13:07:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116362#p116362</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116352#p116352</link>
			<description><![CDATA[<p><strong>stealzy</strong>, вот, я тоже заметил, что в хроме не работает. ТОгда завтра установлю мозилу, проверю работу, и если всё сложится, закрою тему.</p>]]></description>
			<author><![CDATA[null@example.com (alekstankist111)]]></author>
			<pubDate>Sat, 03 Jun 2017 22:15:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116352#p116352</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116351#p116351</link>
			<description><![CDATA[<p><strong>alekstankist111</strong>, как оказалось, предложенные мной способы работают в firefox, но не в хромых.<br />Хромы не воспринимают ввод в неактивное окно.</p><p>Вообще, сайт и блок в студию. Никто не копирует текст из браузера, чтобы получить контент с сайта.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sat, 03 Jun 2017 21:59:43 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116351#p116351</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Копирование текста из скрытых окон]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=116350#p116350</link>
			<description><![CDATA[<p><strong>stealzy</strong>, спасибо за указания! Буду разбираться дальше.</p>]]></description>
			<author><![CDATA[null@example.com (alekstankist111)]]></author>
			<pubDate>Sat, 03 Jun 2017 21:41:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=116350#p116350</guid>
		</item>
	</channel>
</rss>
