<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7260&amp;type=atom" />
	<updated>2012-06-08T08:54:47Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7260</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60818#p60818" />
			<content type="html"><![CDATA[<p>всем участникам обсуждения большое спасибо.<br />все вроде заработало</p>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-08T08:54:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60818#p60818</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60783#p60783" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-06-06T09:00:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60783#p60783</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60782#p60782" />
			<content type="html"><![CDATA[<p>WinWait работает, НО в заголовке каждого окна 1-й программы есть Build_номер, который меняется после обновления, а класы каждого окна одинаковые - засада получается.<br />Все конструкции типа &quot;IfWinNotActive, Rox Sign On, , WinActivate, Rox Sign On&quot; делал в основном рекордер и работают нормально.</p>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-06T08:55:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60782#p60782</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60780#p60780" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-06-06T06:52:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60780#p60780</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60779#p60779" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-06-05T22:16:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60779#p60779</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60777#p60777" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-05T20:11:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60777#p60777</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60776#p60776" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-06-05T18:35:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60776#p60776</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60765#p60765" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-05T11:44:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60765#p60765</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60758#p60758" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-06-04T23:34:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60758#p60758</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60756#p60756" />
			<content type="html"><![CDATA[<p>Значит неправильно вписываешь названия главного окна программы.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-06-04T20:23:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60756#p60756</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60754#p60754" />
			<content type="html"><![CDATA[<p>WinWait уже пробовал - к сожалению не работает.</p>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-04T20:03:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60754#p60754</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60750#p60750" />
			<content type="html"><![CDATA[<p>Можно просто<br /></p><div class="codebox"><pre><code>Run, programma.exe
WinWait, programma
Run, programma_1.exe
WinWait, programma_1</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2012-06-04T19:28:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60750#p60750</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60747#p60747" />
			<content type="html"><![CDATA[<p>Irbis спасибо за опративный отклик.<br />Но поскольку я пользуюсь AutoHotKey недавно, не могли бы вы мне подсобить в разъяснении.<br />Я сейчас запускаю файлы с помощью оператора Run и прописываю далее путь к файлу и пароли (логин и пароли рекордером записал и немного подкорректировал).<br />Как мне вставить ваш код?</p>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-04T18:49:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60747#p60747</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60744#p60744" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-06-04T12:58:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60744#p60744</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Запуск следующей программы после завершения загрузки предыдущей]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60739#p60739" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />Требуется запустить подряд несколько программ.<br />Помогите написать скрипт в Autohotkey, чтоб каждая следующая программа запускалась только после завершения загрузки предыдущей. <br />Это нужно, чтобы окна каждой из программ располагались на панели в определенном порядке.</p>]]></content>
			<author>
				<name><![CDATA[ArtPetr]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28096</uri>
			</author>
			<updated>2012-06-04T09:56:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60739#p60739</id>
		</entry>
</feed>
