<?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>https://forum.script-coding.com/viewtopic.php?id=7260</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7260&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Запуск следующей программы после завершения загрузки предыдущей».]]></description>
		<lastBuildDate>Fri, 08 Jun 2012 08:54:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60818#p60818</link>
			<description><![CDATA[<p>всем участникам обсуждения большое спасибо.<br />все вроде заработало</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Fri, 08 Jun 2012 08:54:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60818#p60818</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60783#p60783</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>...На самом деле здесь всё правильно...</p></blockquote></div><p>Mea culpa, действительно, в справке ahk_L так и написанно. Недочитал. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>ArtPetr, команда <strong>SetTitleMatchMode, 2</strong> действует таким образом, что для <strong>WinWait</strong> и прочих команд не нужно строгого соответствия, можно написать в названии часть заголовка окна, которое не изменяетя, т.е. без номера версии.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Wed, 06 Jun 2012 09:00:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60783#p60783</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60782#p60782</link>
			<description><![CDATA[<p>WinWait работает, НО в заголовке каждого окна 1-й программы есть Build_номер, который меняется после обновления, а класы каждого окна одинаковые - засада получается.<br />Все конструкции типа &quot;IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On&quot; делал в основном рекордер и работают нормально.</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Wed, 06 Jun 2012 08:55:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60782#p60782</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60780#p60780</link>
			<description><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Конструкция <strong>IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On, </strong> выглядит, мягко говоря, подозрительно, потому что&nbsp; полная ее форма<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <strong>IfWinNotActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]</strong> как бы намекает, что после запятых идут параметры, а не команды. (Для них надо начинать с новой строки)</p></blockquote></div><p>На самом деле здесь всё <a href="http://l.autohotkey.net/docs/commands/IfWinActive.htm">правильно</a>:</p><div class="quotebox"><blockquote><p>ExcludeTitle: Due to backward compatibility with .aut scripts, this parameter will be interpreted as a command if it exactly matches the name of a command.</p></blockquote></div><div class="codebox"><pre><code>IfWinExist, Program Manager,, MsgBox, Здесь может быть команда!</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 06 Jun 2012 06:52:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60780#p60780</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60779#p60779</link>
			<description><![CDATA[<p>Раз пример рабочий, проще его и доделать. Вместо <strong>sleep, 60000</strong> и т.д. подставить <strong>winwait, &lt;Заголовок или класс нужного окна&gt;</strong>. (Запятые после этого параметра не нужны)</p><p>Конструкция <strong>IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On, </strong> выглядит, мягко говоря, подозрительно, потому что&nbsp; полная ее форма<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <strong>IfWinNotActive [, WinTitle, WinText, ExcludeTitle, ExcludeText]</strong> как бы намекает, что после запятых идут параметры, а не команды. (Для них надо начинать с новой строки)</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Tue, 05 Jun 2012 22:16:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60779#p60779</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60777#p60777</link>
			<description><![CDATA[<p>В общем мне надо сделать аналог следующего кода, только чтоб запуск происходил не по задержке времени, а после загрузки окон каждой из программ.<br />Программа thinkorswim.exe запускается действительно дважды - различие только в изменении определенного режима, который в нажатии мышки прописывается.<br /></p><div class="codebox"><pre><code>Run C:\Program Files\thinkorswim\thinkorswim.exe
WinWait, Logon to thinkorswim, 
IfWinNotActive, Logon to thinkorswim, , WinActivate, Logon to thinkorswim, 
WinWaitActive, Logon to thinkorswim, 
MouseClick, left,  207,  309
Sleep, 100
MouseClick, left,  179,  370
Sleep, 100
Send, xxxxx{TAB}xxxxx{ENTER}
Sleep, 60000
Run D:\Программы\RoxInstallNewVAD\ROX.exe
WinWait, Rox Sign On, 
IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On, 
WinWaitActive, Rox Sign On, 
MouseClick, left,  100,  59
Sleep, 100
Send, xxxxx{TAB}xxxxo{ENTER}
Sleep, 30000
Run C:\Program Files\UT Software\ArchePro\ArcheClient
WinWait, Login, 
IfWinNotActive, Login, , WinActivate, Login, 
WinWaitActive, Login, 
MouseClick, left,  97,  75
Sleep, 100
Send, demoxxxx{ENTER}
Sleep, 15000
Run C:\Program Files\thinkorswim\thinkorswim.exe
WinWait, Logon to thinkorswim, 
IfWinNotActive, Logon to thinkorswim, , WinActivate, Logon to thinkorswim, 
WinWaitActive, Logon to thinkorswim, 
MouseClick, left,  319,  306
Sleep, 100
MouseClick, left,  262,  370
Sleep, 100
Send, xxx{TAB}xxxxx{ENTER}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Tue, 05 Jun 2012 20:11:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60777#p60777</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60776#p60776</link>
			<description><![CDATA[<div class="quotebox"><cite>ArtPetr пишет:</cite><blockquote><p>... запуск второй программы label1: и т.д. ...</p></blockquote></div><p>1ая, также как и 2ая и другие программы запускаются в цикле <strong>for {...}</strong>, а по метке label1 и другим лишь происходят дополнительные действия - посыл текстовых строк, нажатие клавиш мыши и прочее, то есть <strong>Run</strong> там не нужен.</p><div class="quotebox"><cite>ArtPetr пишет:</cite><blockquote><p>а что делать в блоке где %key% и p1 b p2?</p></blockquote></div><p>В этом блоке ничего делать не нужно, там обрабатывается список программ, заданный в <strong>array</strong>.</p><p>Не совсем понятен порядок действий, лучше словесно напишите, что за чем следует.<br />Например, первой строкой идет <strong>Run C:\Program Files\thinkorswim\thinkorswim.exe</strong>, затем в массиве <em>array</em> она повторяется, то есть нужно, чтоб программа запускалась дважды?<br />Далее, после ее запуска идет переход на <strong>label1</strong>, где запускается <strong>D:\Программы\RoxInstallNewVAD\ROX.exe</strong>, затем она запускается еще раз, потому что она прописана в&nbsp; <em>array</em>...<br />Наверно, это не совсем то, что нужно. Уточните.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Tue, 05 Jun 2012 18:35:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60776#p60776</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60765#p60765</link>
			<description><![CDATA[<div class="codebox"><pre><code>Run C:\Program Files\thinkorswim\thinkorswim.exe
WinWait, Logon to thinkorswim, 
IfWinNotActive, Logon to thinkorswim, , WinActivate, Logon to thinkorswim, 
WinWaitActive, Logon to thinkorswim, 
MouseClick, left,  207,  309
Sleep, 100
MouseClick, left,  179,  370
Sleep, 100
Send, xxx{TAB}xxxxx{ENTER}

SetTitleMatchMode, 2
array :={&quot;C:\Program Files\thinkorswim\thinkorswim.exe&quot;: &quot;ahk_class com.devexperts.tos.ui.user.util.DetachedFrame|label1&quot;
       , &quot;D:\Программы\RoxInstallNewVAD\ROX.exe&quot;: &quot;ahk_class LEWBAR32|label2&quot;
       , &quot;C:\Program Files\UT Software\ArchePro\ArcheClient&quot;: &quot;ahk_class WindowsForms10.Window.8.app.0.171b980_r18_ad1|label3&quot;}
        
For key, value in array
{
   Run, %key%
   p2 =
   StringSplit, p, value, |
   WinWait, %p1%
   if p2
      Gosub %p2%
}
return
 
label1:
Run D:\Программы\RoxInstallNewVAD\ROX.exe
WinWait, Rox Sign On, 
IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On, 
WinWaitActive, Rox Sign On, 
MouseClick, left,  100,  59
Sleep, 100
Send, xxxxR{TAB}xxx{ENTER}
return

label2:
Run C:\Program Files\UT Software\ArchePro\ArcheClient
WinWait, Login, 
IfWinNotActive, Login, , WinActivate, Login, 
WinWaitActive, Login, 
MouseClick, left,  97,  75
Sleep, 100
Send, xxx{ENTER}
return

label3:
Run C:\Program Files\thinkorswim\thinkorswim.exe
WinWaitActive, Logon to thinkorswim, 
MouseClick, left,  319,  306
Sleep, 100
MouseClick, left,  262,  370
Sleep, 100
Send, xxx{TAB}xxx{ENTER}
return</code></pre></div><p>Irbis, посмотрите, пожалуйста, правильность моего кода - у меня первым идет запуск программы и вбитие пароля и логина, потом опреции по определению появления окон и запуск второй программы label1: и т.д.</p><p>а что делать в блоке где %key% и p1 b p2?</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Tue, 05 Jun 2012 11:44:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60765#p60765</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60758#p60758</link>
			<description><![CDATA[<p>Если нужны доп.действия после запуска некоторых программ, то чуть сложнее, но ничего невозможного&nbsp; нет <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><br /><div class="codebox"><pre><code>SetTitleMatchMode, 2
array :={&quot;c:\Program Files\Total Commander\Totalcmd.exe&quot;: &quot;Total Commander|label1&quot;
       , &quot;notepad.exe&quot;: &quot;ahk_class Notepad|label2&quot;
       , &quot;c:\Program Files (x86)\Opera\opera.exe&quot;: &quot;ahk_class OperaWindowClass&quot;}

For key, value in array
{
   Run, %key%
   p2 =
   StringSplit, p, value, |
   WinWait, %p1%
   if p2
      Gosub %p2%
}
return

label1:
MsgBox % p1
return

label2:
MsgBox % p1
return</code></pre></div><p>Пояснение: В массив <em>array</em> вписываете пути к запускаемым файлам (C:\Program... и т.д.), после двоеточия в кавычках идет заголовок или класс окна запускаемой программы (ahk_class).<br />И то, и другое можно взять из U3_Spy.exe, и тогда, как написал <strong>Malcev</strong>, все получится.<br />В тех же кавычках после <strong>|</strong> идет название подпрограммы, которая запустится после появления нужного окна.<br />В моем примере <strong>&quot;Total Commander|label1&quot;</strong> означает, что после появления окна тотал коммандера управление перейдет на процедуру с меткой <strong>label1</strong>,<br />где появится окно с сообщением. Тебе нужно вместо <strong>MessageBox % p1</strong> вставить код, который задуман тобой при появлении нужного окна - в твоем случае, это записанная рекордером последовательность.<br />Для тех окон, где вводить и делать ничего не надо, <strong>|label</strong> нужно убрать. <br />То есть вместо &quot;ahk_class Notepad|label2&quot; будет просто &quot;ahk_class Notepad&quot;<br />Надеюсь, я объяснил достаточно популярно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 04 Jun 2012 23:34:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60758#p60758</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60756#p60756</link>
			<description><![CDATA[<p>Значит неправильно вписываешь названия главного окна программы.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 04 Jun 2012 20:23:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60756#p60756</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60754#p60754</link>
			<description><![CDATA[<p>WinWait уже пробовал - к сожалению не работает.</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Mon, 04 Jun 2012 20:03:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60754#p60754</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60750#p60750</link>
			<description><![CDATA[<p>Можно просто<br /></p><div class="codebox"><pre><code>Run, programma.exe
WinWait, programma
Run, programma_1.exe
WinWait, programma_1</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 04 Jun 2012 19:28:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60750#p60750</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60747#p60747</link>
			<description><![CDATA[<p>Irbis спасибо за опративный отклик.<br />Но поскольку я пользуюсь AutoHotKey недавно, не могли бы вы мне подсобить в разъяснении.<br />Я сейчас запускаю файлы с помощью оператора Run и прописываю далее путь к файлу и пароли (логин и пароли рекордером записал и немного подкорректировал).<br />Как мне вставить ваш код?</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Mon, 04 Jun 2012 18:49:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60747#p60747</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60744#p60744</link>
			<description><![CDATA[<div class="codebox"><pre><code>SetTitleMatchMode, 2
array :={&quot;c:\Program Files\Total Commander\Totalcmd.exe&quot;: &quot;Total Commander&quot;
       , &quot;notepad.exe&quot;: &quot;ahk_class Notepad&quot;
       , &quot;c:\Program Files (x86)\Opera\opera.exe&quot;: &quot;ahk_class OperaWindowClass&quot;}

For key, value in array
{
   Run, %key%
   WinWait, %value%,,20 ; ждать появления главного окна программы
   if Errorlevel
   {
      MsgBox Time out!
	  Break
   }
}</code></pre></div><p>В паре <em>ключ : значение</em> <strong>ключ</strong> (key) - это название запускаемого файла, может быть как исполняемый файл, так и любой, который имеет ассоциацию в системе (*.jpg, *.avi и т.д.)<br /><strong>Значение</strong> (value)- атрибут окна, по которому скрипт проверяет загрузку программы. В примере для блокнота и оперы это класс окна, для ТКоммандера - часть заголовка.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 04 Jun 2012 12:58:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60744#p60744</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=60739#p60739</link>
			<description><![CDATA[<p>Здравствуйте.<br />Требуется запустить подряд несколько программ.<br />Помогите написать скрипт в Autohotkey, чтоб каждая следующая программа запускалась только после завершения загрузки предыдущей. <br />Это нужно, чтобы окна каждой из программ располагались на панели в определенном порядке.</p>]]></description>
			<author><![CDATA[null@example.com (ArtPetr)]]></author>
			<pubDate>Mon, 04 Jun 2012 09:56:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=60739#p60739</guid>
		</item>
	</channel>
</rss>
