<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Проверка выполнения SendInput]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=13586</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13586&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Проверка выполнения SendInput».]]></description>
		<lastBuildDate>Sat, 28 Sep 2019 18:55:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=136204#p136204</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Доброго времени. Спустя полтора года понадобилось снова решить проблему, наткнулся на эту тему, и по началу даже не признал что я автор, сидел, читал с интересом <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Почему-то я вам не ответил тогда, поэтому хочу закрыть гештальт. Не в надежде на помощь, а ради завершенности темы, вдруг у кого-то будет похожая проблема. </p><p>- ControlFocus здесь не поможет, потому что загрузку самого окна то я могу определить, а когда его содержимое подгрузится - нет<br />- Переменная A_CaretX не помогла. Каретка отслеживается в блокноте, но не хочет этого делать в Google Сhrome и UWP приложениях <br />- Sleep я сделал в первую очередь, но это решение на авось, потому что скорость загрузки содержимого окна разное, а может и не загрузиться вовсе. </p><p>В итоге я остановился на таком костыле:<br />Отправляю в окно тестовое слово &gt; Crtl+A &gt; Копирую его в буфер обмена <br />Если слово появилось в буфере &gt; Разрешаю выполнение скрипта<br />Если слово в буфере не появилось &gt; Повторяю цикл</p>]]></description>
			<author><![CDATA[null@example.com (pontifex91)]]></author>
			<pubDate>Sat, 28 Sep 2019 18:55:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=136204#p136204</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124383#p124383</link>
			<description><![CDATA[<p>ControlFocus я предлагал чтобы определить что &quot;окно загружено&quot;. Команда возвращает ErrorLevel.<br />С UWP не сталкивался, попробуйте тогда A_CaretX, когда каретка в поле ввода в этой переменной содержится ее координата. If A_CaretX {...}.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sun, 01 Apr 2018 18:27:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124383#p124383</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124381#p124381</link>
			<description><![CDATA[<div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>Вам подсказали как действовать, Вы не поняли. Вам пояснили конкретней, Вы сделали опять как было и утверждаете, что не работает. Как Вам тогда помочь, если Вы об этой помощи просите, но советов не читаете, или читаете &quot;по своему&quot;?</p><p>Назовите программу, которой пользуетесь.</p></blockquote></div><p>Да любое UWP приложение. Хоть сам Windows Store, например. Окно ввода данных аккаунта. <br />Что именно я не понял? ControlFocus - нашел. Отправку текста ControlSetText - сделал. Это работает с блокнотом и остальным софтом. С Windows Store и другими UWP - не работает. </p><div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>Попробуйте так же в своём примере добавить задержку, например:</p></blockquote></div><div class="quotebox"><cite>pontifex91 пишет:</cite><blockquote><p>Таймер не подойдет, потому что юзер может нарушить последовательность, и следующие данные будут введены не туда, куда нужно.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (pontifex91)]]></author>
			<pubDate>Sun, 01 Apr 2018 17:44:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124381#p124381</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124379#p124379</link>
			<description><![CDATA[<p>Вам подсказали как действовать, Вы не поняли. Вам пояснили конкретней, Вы сделали опять как было и утверждаете, что не работает. Как Вам тогда помочь, если Вы об этой помощи просите, но советов не читаете, или читаете &quot;по своему&quot;?</p><p>Назовите программу, которой пользуетесь. Попробуйте так же в своём примере добавить задержку, например:<br /></p><div class="codebox"><pre><code>
IfWinActive, ahk_class ApplicationFrameWindow
  {
	Sleep, 1000
	SendInput MyText
  }
  else
  MsgBox Error
</code></pre></div><p>Должно обязательно помочь. Если большая задержка критична, уменьшайте её значение до приемлемого.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Sun, 01 Apr 2018 16:37:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124379#p124379</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124371#p124371</link>
			<description><![CDATA[<p><strong>KusochekDobra</strong><br />ок, я попробовал - это сработало в блокноте, как с ahk_class, так и с ahk_exe</p><div class="codebox"><pre><code>ControlFocus, edit1
text := &quot;My text test&quot;
ControlSetText, edit1, %text%, ahk_class Notepad</code></pre></div><p>и даже без указания ControlFocus и ClassNN<br /></p><div class="codebox"><pre><code>text := &quot;My text test&quot;
ControlSetText, , %text%, ahk_class Notepad</code></pre></div><p>но это не работает в нужной программе</p><p>ни с ahk_class, ни с ahk_exe <br /></p><div class="codebox"><pre><code>ControlFocus, ApplicationFrameInputSinkWindow1
text := &quot;My text test&quot;
ControlSetText, ApplicationFrameInputSinkWindow1, %text%, ahk_class ApplicationFrameWindow</code></pre></div><p>я может что-то упустил, конечно, но сканер показывает именно эти параметры<br />поэтому я пользуюсь этим вариантом:</p><div class="codebox"><pre><code>
IfWinActive, ahk_class ApplicationFrameWindow
  {
	SendInput MyText
  }
  else
  MsgBox Error
</code></pre></div><p>Но минус в том, что он может отправлять данные &quot;в никуда&quot;, он не определяет когда это окно загружено полностью, и какое это окно конкретно.<br />И для того, чтобы мне ввести следующие данные, скрипту нужно сначала убедиться что первые данные были введены.</p><p>Таймер не подойдет, потому что юзер может нарушить последовательность, и следующие данные будут введены не туда, куда нужно.</p>]]></description>
			<author><![CDATA[null@example.com (pontifex91)]]></author>
			<pubDate>Sun, 01 Apr 2018 16:11:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124371#p124371</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124370#p124370</link>
			<description><![CDATA[<p>Вы, неправильно поняли предложенное.</p><p>Текст получает элемент окна, называемый &quot;контрол&quot;. Найдите в окне тот, в который собираетесь ввести текст и опишите поведение ввода в сценарии, сообщая нужному окну фокус этого контрола используя &quot;ControlFocus&quot; и отправляя текст посредством &quot;ControlSetText&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Sun, 01 Apr 2018 14:39:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124370#p124370</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124369#p124369</link>
			<description><![CDATA[<p><strong>stealzy</strong> они не сканируются, во всех окнах одинаковый класс, я же написал. Поэтому необходим такой костыль <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (pontifex91)]]></author>
			<pubDate>Sun, 01 Apr 2018 14:09:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124369#p124369</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124368#p124368</link>
			<description><![CDATA[<p>Посмотрите сканером в какой контрол вы вводите.<br />ControlFocus, ControlSetText.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Sun, 01 Apr 2018 13:14:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124368#p124368</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Проверка выполнения SendInput]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=124366#p124366</link>
			<description><![CDATA[<p>Здравствуйте, господа. Нужно сделать проверку, был ли введен текст в окне, и в случае если текст найден, то разрешить дальнейшее выполнение скрипта.<br />Мой скрипт вводит текст через SendInput в поле программы, но ввиду особенностей этой программы, есть риск того, что текст введется не в поле ввода, а куда то в никуда, например во время подгрузки окна. Ahk_class окон программы имеют одинаковые названия, поэтому вариант с IfWinActive не подходит, и приходится идти на такие костыли. </p><p>То есть нужно что то типо этого:<br /></p><div class="codebox"><pre><code>
SendInput, мой текст
if найден &quot;мой текст&quot;
{
	MsgBox OK
}
else 
MsgBox ERROR
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (pontifex91)]]></author>
			<pubDate>Sun, 01 Apr 2018 11:36:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=124366#p124366</guid>
		</item>
	</channel>
</rss>
