<?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=17628</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=17628&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Выделение текста и отправка в поисковик сайта».]]></description>
		<lastBuildDate>Thu, 17 Oct 2024 11:45:37 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161684#p161684</link>
			<description><![CDATA[<div class="quotebox"><cite>tokumechimo пишет:</cite><blockquote><p>предлагаю такой вариант</p></blockquote></div><p>Я предлагаю такой вариант: ознакомьтесь с <a href="https://forum.script-coding.com/misc.php?action=rules">правилами</a> форума, прочитав их внимательно, затем только создавайте посты. Выполнение всех правил обязательно.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 17 Oct 2024 11:45:37 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161684#p161684</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161683#p161683</link>
			<description><![CDATA[<p><strong>adeckwatt</strong></p><p>предлагаю такой вариант</p><p>Остальная часть поста удалена модератором за нарушения правил форума.</p>]]></description>
			<author><![CDATA[null@example.com (tokumechimo)]]></author>
			<pubDate>Thu, 17 Oct 2024 11:28:12 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161683#p161683</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161384#p161384</link>
			<description><![CDATA[<div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>стараюсь не обновляться без крайней необходимости: столько раз новые версии программ и тех же кодеков каких-нибудь были хуже предшествующих</p></blockquote></div><p>AHK — не тот случай, наоборот, баги исправляются.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 13 Aug 2024 01:02:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161384#p161384</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161383#p161383</link>
			<description><![CDATA[<p>Здравствуйте, <strong>teadrinker</strong>! </p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Возможно проблема в том, что не указано CoordMode.</p></blockquote></div><p>Спасибо за наводку. Посмотрел инструкцию, но TargetType не смог понять, как подобрать под мой случай. У меня вроде Control, какое-то поле ввода, я ожидал увидеть что-то вроде InputBox (условно, предположил чисто на основании знания аглицкого и насмотренности на различные скрипты), а там ToolTip, Pixel... Использовал наобум Mouse, Caret и Menu в связке с RelativeTo в виде Window и Client, а саму строчку CoordMode вставлял опять же пальцем в небо над Click-строчкой и над ControlFocus-строчкой – никакого эффекта. </p><p>Отмечу на всякий случай еще раз, что однократно скрипт функционирует, особенно, насколько могу судить, когда в строке ControlFocus прописываешь ClassNN впервые, а все последующие разы уже нет. Только вот перезагружать систему не пробовал. </p><p>Кстати, при попытке создать такой же скрипт на другом ноутбуке, но в том же браузере и с тем же сайтом, мне выдало ClassNN совершенно другой, а именно Chrome_RenderWidgetHostHWND1. Я его подставил уже на основном ноутбуке и смог получить целых три рабочих отправки в поисковик подряд, после чего, к сожалению, скрипт снова заглох и снова с концами. </p><p>Для исключения возможных обидных ошибок: запуск этого скрипта от имени администратора тоже ни к чему не приводит; скрипт сохранен был сначала в UTF-8 просто Блокнотом, потом в UTF-8 BOM перекодировал с помощью Notepad++ – никаких различий. </p><p>Важный момент: мне особенно нужно, чтобы отправка в поисковик работала, когда браузер находится в сплитскрин-режиме, то есть находится в левой части экрана и занимает его половину, тогда как слова для поиска посылаются из соседнего окна, находящегося справа. Просто во время многочисленных тестов заметил, что при развернутом во весь экран (но речь идет не о полноэкранном режиме при этом) окне браузера поведение отличается, а именно как-то раз Click улетал куда-то не туда, не по закрепленной вкладке кастовался. Не знаю, насколько это важно, пытаюсь цепляться за любые мелочи. </p><p>У меня иногда возникает подозрение, что с самим сайтом может быть что-то не так. Дело в том, что вид панели поиска, то есть поисковой строки, несколько отличается по виду и положению в режиме полностью развернутого окна и в случае, когда окно развернуто наполовину. У меня, конечно, не работает ни в таком, ни в таком варианте, но вдруг это тоже имеет значение для чего-то там. Было бы здорово, если бы кто-то мог протестировать у себя подобный скрипт в двух этих режимах. Если что, у меня сложилось впечатление, что на сайте работают вполне отзывчивые люди, – возможно, если бы подобный затык наблюдался не только у меня, к ним можно было бы обратиться с просьбой как-то пофиксить это дело на их стороне.</p><p>Наконец, у меня в какой-то момент возникла совсем уж изощренная идея по модификации адреса сайта в адресной строке браузера искомым словом. В адресе поиска на сайте ведь содержится слово, по которому в данный момент осуществляется поиск (например, <a href="https://gramota.ru/poisk?query=мучаемся&amp;mode=all">https://gramota.ru/poisk?query=мучаемся&amp;mode=all</a>), ну и вот можно было бы следующее искомое слово просто вставлять вместо &quot;мучаемся&quot; в адресную строку. (По крайней мере в ручном режиме это функционирует прекрасно, можно было бы сэмулировать все эти мышино-клавиатурные манипуляции.) Было бы красиво как-то выделять строку адреса, копировать в буфер, оттуда удалять предыдущее искомое слово, вставлять новое, а это уже две переменных каких-нибудь, и вот они бы так в танце кружились... Но это пока сложновато для меня. А вот такой больной плод больного же воображения вполне себе фурычит:</p><div class="codebox"><pre><code>F1::
{
SendInput ^c
Sleep, 50
WinActivate ahk_exe msedge.exe
Click 415, 25
Click 415, 88
SendInput {Backspace}
SendInput https://gramota.ru/poisk?query=%clipboard%&amp;mode=all
SendInput {Enter}
return
}</code></pre></div><p>Немного потестировал, работает вроде без нареканий. Такой вариант мне нравится даже больше придумки с несколькими Click-ами, он стабильнее. Видимо, остановлюсь на нем в итоге.</p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Лучше использовать последнюю версию.</p></blockquote></div><p>На другой машине ради любопытства обновился до 1.1.37.5 или как-то так, повторил все тесты – ничего не поменялось. А вообще, стараюсь не обновляться без крайней необходимости: столько раз новые версии программ и тех же кодеков каких-нибудь были хуже предшествующих, что... Сколько сбросов настроек пережил из-за обновлений... Нервов не напасешься. А тут скрипты могут как-то пострадать, а каждый же вымученный, порой не одним мной (опять же благодарность всем причастным). </p><br /><br /><p>Извиняюсь за словоблудие и занудство. Если бы код писался так же легко и в тех же объемах, как текст на родном языке...</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Mon, 12 Aug 2024 21:43:26 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161383#p161383</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161379#p161379</link>
			<description><![CDATA[<p>Возможно проблема в том, что не указано CoordMode.<br /></p><div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>использую АХК версии 1.1.33.11</p></blockquote></div><p>Лучше использовать последнюю версию.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 12 Aug 2024 00:27:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161379#p161379</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=161377#p161377</link>
			<description><![CDATA[<p>Снова приветствую всех участников форума!</p><p>Прошел год, а тема использования различных поисковиков по-прежнему актуальна для меня. </p><p>Код, инспирированный <strong>Malcev</strong>, разработанный <strong>teadrinker</strong> и доведенный до совершенства <strong>__Михаил__</strong>, по-прежнему работает, хотя, каюсь, стал реже им пользоваться: Грамота пережила удачную модернизацию своего сайта и сейчас практически вне конкуренции как ресурс по проверке орфографии. Как бы там ни было, никто не забыт и ничто не забыто, я по-прежнему преисполнен благодарностью за него! </p><p>По иронии судьбы именно с сайтом Грамоты связан мой нынешний запрос. </p><div class="codebox"><pre><code>F1::
{
Send, ^c
Sleep 50
Run, https://gramota.ru/poisk?query=%clipboard%&amp;mode=all
Return
}</code></pre></div><p>Данный код по-прежнему выполняет свою функцию, но создает новую вкладку всякий раз, когда осуществляется поиск с его помощью, и, конечно, это не очень удобно, когда приходится удалять десятки таких вкладок по несколько раз за день. Год промаялся с этим, сейчас вот дошли руки оптимизировать. Собственно, основной алгоритм был предложен <strong>teadrinker</strong> в посте № 4 данной темы, я лишь придумал его значительно упростить, так сказать, до своего уровня, так что в схематичном виде на данном этапе он выглядит так: </p><p>1. По нажатию клавиши скопировать в буфер обмена предварительно выделенное где-либо слово/словосочетание;<br />2. Активировать браузер, если он свернут или не запущен вовсе;<br />3. Выбрать заранее закрепленную в окне браузера вкладку Грамоты;<br />4. Сделать фокус в поле ввода поисковика Грамоты;<br />5. Потереть предыдущий поиск, если он был;<br />6. Вставить слово/словосочетание из буфера обмена;<br />7. Произвести новый поиск.</p><p>В попытке реализации этого алгоритма у меня получился вот такой скрипт:</p><div class="codebox"><pre><code>SetMouseDelay, 0
SetControlDelay, 0 
F1::
{
SendInput ^c
Sleep 50
WinActivate ahk_exe msedge.exe
Click 415, 25 ; координаты закрепленной вкладки Грамоты
ControlFocus, Intermediate D3D Window1, ahk_class Chrome_WidgetWin_1
SendInput &lt;^{Backspace 10} ; не придумал, как проще чистить слова предыдущих поисков
SendInput ^v
SendInput {Enter}
return
}</code></pre></div><p>И... он не срабатывает. Вернее, он срабатывает однократно буквально, а потом доходит до активации нужной вкладки и стопорится. Забавно, что если в этот же скрипт подсунуть координаты вкладки с поисковиком Яндекса, он функционирует безо всяких проблем (у обоих сайтов элементы управления, поля ввода, имеют одинаковые ClassNN, а именно Intermediate D3D Window1, ну и запуск происходит в одном браузере).</p><p>Попробовал использовать HWND вместо ClassNN (не очень понимая, в чем разница, конечно): получил 0x1040c, подставил в эту же кодовую строку – ничего не изменилось, ответа нет. Стал смотреть всякие обходные пути, изучать команды типа ControlSend, ControlSetText, но в них разобраться не удалось даже при наличии русскоязычных инструкций. Поскольку я более-менее освоил Click, удалось реализовать поиск в Грамоте отправкой серии мышиных кликов, но это костыльный вариант, который не очень устраивает. (Могу показать сей шедевр извращенческой мысли, но попридержу пока.) В частности, при использовании получившегося кликающего скрипта сайт Грамоты периодически выдает мне ошибку 503 Service Temporarily Unavailable (хотя такое, возможно, связано с частым тестированием сайта данным скриптом), по понятным причинам отказывается работать в полноэкранном режиме (клики подгонялись под сплитскрин-режим, наиболее часто мною используемый), ну и еще там более мелкие косяки возникают (иногда приходится дважды прожимать релизную кнопку скрипта, чтобы слово наконец отправилось в поле ввода). Одним словом, не самый удобный вариант, хотя, вероятно, и его можно довести до ума.</p><p>Есть ли возможность относительно просто решить возникшее затруднение все-таки с помощью чего-то похожего на ControlFocus? Простота требуется, во-первых, потому, что мне хотелось бы взять простое решение на заметку (пытаюсь учиться все-таки) и затем попытаться инкрустировать его в другие свои скриптики, а во-вторых, все-таки не настолько это критичный момент, чтобы сильно запариваться с ним. Заранее благодарю всех откликнувшихся! </p><br /><br /><p>Если что, как и прежде, использую АХК версии 1.1.33.11 на ноутбуке на Вин10.</p><p>Надеюсь, правильно сделал, что не стал создавать новую тему, а запостил все измышлизмы в старой.</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Sun, 11 Aug 2024 15:02:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=161377#p161377</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157041#p157041</link>
			<description><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Ещё одно обновление.</p></blockquote></div><p>Работает! Правда, не сразу смог понять, насколько быстро необходимо прожимать буквенное комбо, но в итоге приноровился. В принципе циферку, за этот параметр отвечающую, вижу, так что смогу в случае чего подправить под свою индивидуальную тормознутость.) Потрясающе! Спасибо!!! </p><div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>В целом можно много чего ещё прикрутить, было бы желание и время</p></blockquote></div><p>Да, это удивительно, какие поистине удобные штуки можно творить, была бы сила мысли и время, чтобы ее развивать. Желаю вам, чтобы обеих этих компонент у вас было в достатке и даже в избытке!;) </p><br /><br /><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>надо использовать chrome.ahk</p></blockquote></div><p>Кстати, по поводу обращения к первоначальному сайту через браузер мне тут пришла в голову такая идея. Если AHK способен за меня прожимать клавиши, причем много и как минимум подряд, если не за раз, то, по идее, возможна такая комбинация для реализации искомого функционала: </p><p>0) через Ctrl+C скопировать в буфер требуемое слово;<br />1) по Alt+Tab вызвать список открытых окон, выбрать браузер (догадываюсь, что активировать какое-то из свернутых окон можно и иначе наверняка);<br />2) в браузере если закрепить вкладку со словарем, по крайней мере в Edge и Firefox можно будет на нее переключиться, прожав Ctrl+номер вкладки, она будет всегда статична по номеру, будучи закрепленной; <br />3) затем останется как-то сделать фокус на, постановку курсора в строку поиска сайта, что, как я где-то видел (ручаться не могу, просто на волне интереса просматривал разные темы), реально, если даже задать координаты этой самой строки на экране, которая на сайте тоже константно расположена...<br />4) ...ну и уже в ней прожать Ctrl+V. </p><p>И то же самое можно теоретически провернуть с Грамотой и Яндексом, и как раз можно было бы все запросы рерайтить каждый новый поверх старого, то есть отправлять все поисковые запросы в одну вкладку, а не плодить их сотнями. Ну то есть алгоритмически это вроде как может сработать, если прямо вот AHK указать те же действия, какие я до этого вручную выполнял. В общем, интересная разминка для ума выходит как ни крути) </p><p>UPD: сейчас перечитал тему и обнаружил, что это почти в точности то, что предложил изначально <strong>teadrinker</strong>, но только в случае закрепленной вкладки не нужно будет скрипту проверять заголовки, да и чекбоксы будут по умолчанию выставлены (я по крайней мере один раз их выставил в Edge и они так и стоят там всякий раз). Такой лоукост нубский вариант) Но, черт возьми, это действительно увлекательное дело, продумывать. </p><br /><br /><p>Я еще раз благодарю всех откликнувшихся за участие, поддержку и доброжелательность!</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Tue, 07 Mar 2023 23:06:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157041#p157041</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157039#p157039</link>
			<description><![CDATA[<p><strong>adeckwatt</strong><br />Ещё одно обновление. Если быстро скопировать текст (дважды нажать Ctrl + C) окно тут же заменит текст в поле и отправит запрос на сайт. В целом можно много чего ещё прикрутить, было бы желание и время.</p><div class="codebox"><pre><code>url := &quot;https://orfo.ruslang.ru/search/word&quot;
Name := &quot;Orfo.ruslang.ru search word v1.2&quot;

Gui Color, 0x67A0FF
Gui Font, s13, Arial
Gui Add, Text, x8 y8 w60 h23, Слово:
Gui Add, Edit, vquery x72 y8 w300 h23, Вер*ция
Gui Add, Button, gGo x376 y8 w60 h23, Поиск
Gui Add, Edit, vText x8 y40 w428 h365
Gui Show, w444 h413, % Name
Return

GuiEscape:
GuiClose:
ExitApp


#If WinActive(name . &quot; ahk_pid &quot; . DllCall(&quot;GetCurrentProcessId&quot;))
~Enter::
#If
KeyWait, Enter
ControlGetFocus, F, A
if !(F = &quot;Edit1&quot;)
 Return

Go:
GuiControlGet, query
body := EncodeDecodeURI(&quot;word=&quot; . query . &quot;&amp;submit=Поиск&amp;title_check=yes&amp;text_check=yes&quot;,, false)
headers := { &quot;content-length&quot; : StrLen(body)
           , &quot;content-type&quot;: &quot;application/x-www-form-urlencoded&quot;
           , &quot;user-agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 &quot;
                         . &quot;(KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57&quot; }
                         
html := WebRequest(url, &quot;POST&quot;, headers, body, error := &quot;&quot;)
if error {
 GuiControl,, Text, % error
 Return
}
document := DocumentFromHtml(html)
columns := document.querySelectorAll(&quot;.panel-body div[class^=col-md]&quot;)
text := &quot;&quot;
Loop % columns.Length {
 text .= columns[A_Index - 1].innerText . &quot;`n&quot;
}
GuiControl,, Text, % text
Return

DocumentFromHtml(html) {
   Doc := ComObjCreate(&quot;htmlfile&quot;)
   Doc.write(&quot;&lt;meta http-equiv=&quot;&quot;X-UA-Compatible&quot;&quot; content=&quot;&quot;IE=9&quot;&quot;&gt;&quot;)
   Doc.designMode := &quot;on&quot;
   Doc.write(html)
   Return Doc
}

EncodeDecodeURI(str, encode := true, component := true) {
   static Doc, JS
   if !Doc {
      Doc := ComObjCreate(&quot;htmlfile&quot;)
      Doc.write(&quot;&lt;meta http-equiv=&quot;&quot;X-UA-Compatible&quot;&quot; content=&quot;&quot;IE=9&quot;&quot;&gt;&quot;)
      JS := Doc.parentWindow
      ( Doc.documentMode &lt; 9 &amp;&amp; JS.execScript() )
   }
   Return JS[ (encode ? &quot;en&quot; : &quot;de&quot;) . &quot;codeURI&quot; . (component ? &quot;Component&quot; : &quot;&quot;) ](str)
}

WebRequest(url, method := &quot;GET&quot;, HeadersArray := &quot;&quot;, body := &quot;&quot;, ByRef error := &quot;&quot;) {
   Whr := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
   Whr.Open(method, url, true)
   for name, value in HeadersArray
      Whr.SetRequestHeader(name, value)
   Whr.Send(body)
   Whr.WaitForResponse()
   status := Whr.status
   if (status != 200)
      error := &quot;HttpRequest error, status: &quot; . status
   Arr := Whr.responseBody
   pData := NumGet(ComObjValue(arr) + 8 + A_PtrSize)
   length := arr.MaxIndex() + 1
   Return StrGet(pData, length, &quot;UTF-8&quot;)
}

~^c::
KeyWait, C, U
If !(A_ThisHotkey = A_PriorHotkey &amp;&amp; A_TimeSincePriorHotkey &lt; 300)
 Return
GuiControl,, query, % ClipBoard
GoTo Go
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Tue, 07 Mar 2023 14:47:11 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157039#p157039</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157033#p157033</link>
			<description><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Более удобное решение с интерфейсом</p></blockquote></div><p>Категорически приветствую! Решение действительно выглядит отлично и по-своему удобно, и опять в обход браузера!) Благодарю покорно!</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Mon, 06 Mar 2023 14:44:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157033#p157033</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157022#p157022</link>
			<description><![CDATA[<div class="codebox"><pre><code>#If WinActive(name . &quot; ahk_pid &quot; . DllCall(&quot;GetCurrentProcessId&quot;))
~Enter::
#If
KeyWait, Enter
ControlGetFocus, F, A
if !(F = &quot;Edit1&quot;)
   Return

Go:
   GuiControlGet, query
...</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 04 Mar 2023 18:02:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157022#p157022</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157021#p157021</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Почему же? Так больше вероятность что сработает точно со своим окном. Или есть более правильный вариант?</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 04 Mar 2023 17:34:36 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157021#p157021</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157020#p157020</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>Sat, 04 Mar 2023 16:37:41 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157020#p157020</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157019#p157019</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Обновил пост. Добавил предложенное.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 04 Mar 2023 14:42:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157019#p157019</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157018#p157018</link>
			<description><![CDATA[<p><strong>__Михаил__</strong><br />Я бы увеличил шрифт и добавил отправку по Enter, если поле ввода в фокусе.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 04 Mar 2023 14:01:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157018#p157018</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выделение текста и отправка в поисковик сайта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=157017#p157017</link>
			<description><![CDATA[<p>Более удобное решение с интерфейсом:</p><div class="codebox"><pre><code>url := &quot;https://orfo.ruslang.ru/search/word&quot;
Name := &quot;Test Gui&quot;

GroupAdd, Group, %Name% ahk_class ahk_class AutoHotkeyGUI ahk_exe AutoHotkey.exe

Gui Font, s13, Arial
Gui Add, Text, x8 y8 w60 h23, Слово:
Gui Add, Edit, vquery x72 y8 w300 h23, Вер*ция
Gui Add, Button, gGo x376 y8 w60 h23, Поиск
Gui Add, Edit, vText x8 y40 w428 h365
Gui Show, w444 h413, % Name
Return

GuiEscape:
GuiClose:
ExitApp


#IfWinActive, Ahk_Group Group

~Enter::
KeyWait, Enter, U
ControlGetFocus, F, A
If (F = &quot;Edit1&quot;)
 GoSub, Go
Return

#If

Go:
GuiControlGet, query
body := EncodeDecodeURI(&quot;word=&quot; . query . &quot;&amp;submit=Поиск&amp;title_check=yes&amp;text_check=yes&quot;,, false)
headers := { &quot;content-length&quot; : StrLen(body)
           , &quot;content-type&quot;: &quot;application/x-www-form-urlencoded&quot;
           , &quot;user-agent&quot;: &quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 &quot;
                         . &quot;(KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57&quot; }
                         
html := WebRequest(url, &quot;POST&quot;, headers, body, error := &quot;&quot;)
if error {
 GuiControl,, Text, % error
 Return
}
document := DocumentFromHtml(html)
columns := document.querySelectorAll(&quot;.panel-body div[class^=col-md]&quot;)
text := &quot;&quot;
Loop % columns.Length {
 text .= columns[A_Index - 1].innerText . &quot;`n&quot;
}
GuiControl,, Text, % text
Return

DocumentFromHtml(html) {
   Doc := ComObjCreate(&quot;htmlfile&quot;)
   Doc.write(&quot;&lt;meta http-equiv=&quot;&quot;X-UA-Compatible&quot;&quot; content=&quot;&quot;IE=9&quot;&quot;&gt;&quot;)
   Doc.designMode := &quot;on&quot;
   Doc.write(html)
   Return Doc
}

EncodeDecodeURI(str, encode := true, component := true) {
   static Doc, JS
   if !Doc {
      Doc := ComObjCreate(&quot;htmlfile&quot;)
      Doc.write(&quot;&lt;meta http-equiv=&quot;&quot;X-UA-Compatible&quot;&quot; content=&quot;&quot;IE=9&quot;&quot;&gt;&quot;)
      JS := Doc.parentWindow
      ( Doc.documentMode &lt; 9 &amp;&amp; JS.execScript() )
   }
   Return JS[ (encode ? &quot;en&quot; : &quot;de&quot;) . &quot;codeURI&quot; . (component ? &quot;Component&quot; : &quot;&quot;) ](str)
}

WebRequest(url, method := &quot;GET&quot;, HeadersArray := &quot;&quot;, body := &quot;&quot;, ByRef error := &quot;&quot;) {
   Whr := ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
   Whr.Open(method, url, true)
   for name, value in HeadersArray
      Whr.SetRequestHeader(name, value)
   Whr.Send(body)
   Whr.WaitForResponse()
   status := Whr.status
   if (status != 200)
      error := &quot;HttpRequest error, status: &quot; . status
   Arr := Whr.responseBody
   pData := NumGet(ComObjValue(arr) + 8 + A_PtrSize)
   length := arr.MaxIndex() + 1
   Return StrGet(pData, length, &quot;UTF-8&quot;)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Sat, 04 Mar 2023 12:07:14 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=157017#p157017</guid>
		</item>
	</channel>
</rss>
