<?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=12351</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=12351&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Выполнение задач в зависимости от активности окна программы».]]></description>
		<lastBuildDate>Mon, 23 Jan 2017 09:49:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111444#p111444</link>
			<description><![CDATA[<p>Нет, просто программа не обязана иметь окно, если оно ей не требуется.</p><p>А в вашей идее WinWait избыточно, т.к. код выполняется, если окно существует. Зачем же его ждать? А для SendInput нужно, чтобы окно не просто существовало, а было активным.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:49:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111444#p111444</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111443#p111443</link>
			<description><![CDATA[<p>Вы имеете ввиду &quot;оконный режим&quot; ? или я Вас не верно понял ?<br />Только что попробовал нечто вроде этого </p><div class="codebox"><pre><code>IfWinExist, %win2%
{
	WinWait, %win2%, , 7
	SendInput, {vk42}
}</code></pre></div><p>К сожалению моя идея не выгорела ...</p>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:35:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111443#p111443</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111442#p111442</link>
			<description><![CDATA[<div class="quotebox"><cite>Violence-Fetish пишет:</cite><blockquote><p>Если мы вылавливаем процесс как WinWait можно ли тоже самое использовать для любого другого процесса ?</p></blockquote></div><p>Если у него есть окно, то можно.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:29:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111442#p111442</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111440#p111440</link>
			<description><![CDATA[<p><strong><span style="color: green">Тема перенесена по принадлежности.<br />Заголовок исправлен на более вменяемый.</span></strong></p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:26:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111440#p111440</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111438#p111438</link>
			<description><![CDATA[<p>Кстати , хотел ещё поинтересоваться , а возможно ли отловить действия клиента при помощи AHK ? , к примеру смотрите :<br />Есть некий клиент допустим тот же самый Warcraft III , на загрузку приложения требуется некоторое время прежде чем передать AHK новые действия т.е приходится юзать Sleep, N-время.<br />Суть в том что у каждого компьютера из-за мощности и многих других факторов прогрузка окна длится не фиксированное кол-во времени , как с этим быть ? или тут уже ничего не поделать и просто задать AHK скрипту Sleep по больше (но тогда это будет не камельфо).</p><p>(Осенило) Если мы вылавливаем процесс как WinWait можно ли тоже самое использовать для любого другого процесса ?</p><p>з.ы Спасибо , Ваш ответ помог мне , постараюсь в дальнейшем не быдлокодить ).</p>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:17:52 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111438#p111438</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111436#p111436</link>
			<description><![CDATA[<p>Наверно, проще всего так:<br /></p><div class="codebox"><pre><code>
app = C:\Program Files\ICCup\Launcher\Launcher.exe
win = iCCup Launcher

IfWinNotExist, %win%
{
    Run, %app%
    WinWait, %win%
}
WinActivate, %win%
WinWaitActive, %win%

; Действия в окне.
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 23 Jan 2017 09:10:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111436#p111436</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111435#p111435</link>
			<description><![CDATA[<p>Вот ещё одно моё решение с использованием быдло кода , вот как это превратить в более адекватное решение ?<br /></p><div class="codebox"><pre><code>IfWinExist, iCCup Launcher ; поиск окна
{
	WinWait, iCCup Launcher ; ожидание появления окна
	WinActivate ; активация окна
}
else ; или
{
	Run, C:\Program Files\ICCup\Launcher\Launcher.exe
	WinWait, iCCup Launcher ; ожидание появления окна
	WinActivate ; активация окна
	MouseMove, 672, 602
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 08:50:16 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111435#p111435</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111434#p111434</link>
			<description><![CDATA[<p>Постараюсь крайне близко описать то что хочу сделать :<br />Получается ставим изначально проверку &quot;Запущено ли вообще приложение&quot; как я понимаю за это отвечает #IfWinNotExist<br />Далее Если оно запущено то &quot;Ждём его прогрузки&quot; как я понимаю за это отвечает уже WinWait<br />После чего если оно уже запущено (#IfWinExist) и прогружено , активируем его при помощи WinActivate<br />Потом юзаем нужный клик по нужным координатам приложения.<br />По возможности добавить проверки на баги в скрипте вида : Если приложение уже запущено то не перезапускать его , если приложение не запущено то не выполнять последующие действия кроме как запустить его (тут как я понимаю понадобится задействовать loop)</p><p>Что касаемо ErrorLevel , пытался сделать проверку (но судя по Вашему вопросу , я был не прав сделав это).<br />Просто в документации прочитал что изначально запущенное приложение имеет состояние ErrorLevel 0 (если я и тут ничего не перепутал) , и всё что находится внутри ErrorLevel 0 будет выполняться.</p>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 08:19:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111434#p111434</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111433#p111433</link>
			<description><![CDATA[<p>Так что вы понимаете под &quot;активно ли приложение&quot;? Запущено? Активно его окно?</p><p>К чему у вас должны относиться последние две проверки ErrorLevel?</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 23 Jan 2017 07:58:27 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111433#p111433</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111432#p111432</link>
			<description><![CDATA[<p>Код крайне печальный , по этому косяков там достаточно , прошу строго не судить ибо только начал изучать.<br />К примеру тут если запускать скрипт снова и снова , то он будет перезапускать процессы , благо они не стакаются а заменяют друг друга , но всё же.</p><div class="codebox"><pre><code>find := &quot;C:\Program Files\ICCup\Launcher\Launcher.exe&quot;

Gui,Add,Edit,x143 y12 w150 h21 vlogin,Login
Gui,Add,Edit,x143 y46 w150 h21 vpass,Password
Gui,Add,Text,x144 y79 w80 h20,Remember?
Gui,Add,Checkbox,x224 y80 w68 h13,Checkbox
Gui,Add,Button,x143 y109 w150 h23 gKey,Okey I&#039;m Ready
Gui,Show,w441 h152,Created with GUI Creator by maestrith
return
GuiClose:
ExitApp
return

key:
GuiControlGet, Login
GuiControlGet, Pass
Gui, minimize

;Relative:	673, 603 (default)

WinWait, iCCup Launcher, , 1 ; ищем в течение 1 секунды, существует ли окно с названием test.
if ErrorLevel ; данная запись означает, что переменная ErrorLevel имеет значение, отличное от нуля.
	Run, %find%
else
	WinActivate iCCup Launcher
	WinWait, iCCup Launcher
	MouseClick, left, 673, 603

if (ErrorLevel = 0) {
	#IfWinNotActive Warcraft III
	Sleep, 10000
	SendInput, {vk42}
	Sleep, 15000
	MouseClickDrag, left, 414, 232, 71, 229
	SendInput, {vk8}
	SendInput, %Login%
	MouseClick, left, 322, 344
	SendInput, %Pass%{enter}
	Sleep, 5000
	MouseClick, left, 123, 290
	Sleep, 3000
	SendInput, LZ{enter}
	Sleep, 3000
	SendInput, Всем привет{enter}
}

if (ErrorLevel &gt; 0) {
	MsgBox, Somthing Wrong
	return
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 07:07:11 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111432#p111432</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111430#p111430</link>
			<description><![CDATA[<p>Что такое активность приложения? Если активность окна, то она проверяется функцией WinActive(&quot;Заголовок&quot;) или командой IfWinActive, Заголовок. Проверку можно зациклить командой Loop. Лучше приведите сами пример вашей попытки, чтобы было понятно, что у вас не так.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Mon, 23 Jan 2017 03:52:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111430#p111430</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Выполнение задач в зависимости от активности окна программы]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=111429#p111429</link>
			<description><![CDATA[<p>Уважаемые пользователи , помогите пожалуйста разобраться с AHK скриптом который будет обращать внимание на текущее состояние приложения , т.е активно ли оно , если да то делать это , если нет , то делать другое.<br />Я примерно попытался поработать с конструкциями If&#039;a но к сожалению у меня ничего не вышло , либо я не освоил как правильно это делать, т.к в моём случаи получалось всё что мне хотелось но, с учётом того, что скрипт нужно было запускать дважды ...<br />Подтолкните меня каким нибудь вариантами , буду очень Вам благодарен.</p>]]></description>
			<author><![CDATA[null@example.com (Violence-Fetish)]]></author>
			<pubDate>Mon, 23 Jan 2017 02:04:32 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=111429#p111429</guid>
		</item>
	</channel>
</rss>
