<?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=17736&amp;type=atom" />
	<updated>2023-04-18T14:35:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17736</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157684#p157684" />
			<content type="html"><![CDATA[<p>Не проще ли нормальный код писать и не выдумывать всякие костыли? Задача быстро применять новые изменения в скрипте? Тогда просто добавив одну строку можно перезапускать текущий скрипт. Зачем искать его в папке, дважды кликать по нему?</p><div class="codebox"><pre><code>F6:: Reload</code></pre></div>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2023-04-18T14:35:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157684#p157684</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157652#p157652" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> спасибо, это то, что нужно!</p>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-17T18:35:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157652#p157652</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157651#p157651" />
			<content type="html"><![CDATA[<p>Тогда можно так:<br /></p><div class="codebox"><pre><code>#SingleInstance Off
SetTitleMatchMode, 2
DetectHiddenWindows, On

WinGet, list, List, %A_ScriptName% ahk_class AutoHotkey
found := false
Loop % list
   continue
until list%A_Index% != A_ScriptHwnd &amp;&amp; found := list%A_Index%

if !found
   MsgBox, 64, Готово, Script запущен!
else {
   WinMenuSelectItem, ahk_id %found%,, File, Exit (Terminate Script)
   MsgBox, 48, Перезапуск, Script перезапущен, 2
}</code></pre></div><p>Но проще было бы написать в начале <em>#SingleInstance, Force</em>, тогда новый скрипт будет заменять старый без всяких ухищрений.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-17T18:05:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157651#p157651</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157650#p157650" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> а как сделать так, чтобы при перезапуске закрывалась предыдущая версия скрипта? Чтобы в трее постоянно оставался только один значок - версия скрипта, актуальная после последнего перезапуска.<br />Например, в скрипте автозамены. В первой версии скрипта код<br /></p><div class="codebox"><pre><code>:*:btw::by the way</code></pre></div><p>Я вношу изменения в скрипт (в Блокноте). Например, добавляю еще одну замену. Сохраняю скрипт. Теперь он выглядит так:<br /></p><div class="codebox"><pre><code>:*:btw::by the way
:*:exp::example</code></pre></div><p>Перезапускаю скрипт, чтобы изменения вступили в силу. Выскакивает &quot;An older instance of this script is already running.&nbsp; Replace it with this instance?&quot;. И пока не нажмешь &quot;Да&quot;, новая версия версия скрипта не запустится. Цель - чтобы вместо этого оповещения выскакивал Msgbox &quot;Выполняется перезапуск Script. Программа будет открыта через несколько секунд...&quot;, который автоматически пропадает через пару секунд, и после этого запускается обновленная версия скрипта (уже с новой добавленной автозаменой).</p>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-17T17:11:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157650#p157650</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157649#p157649" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>marusa122 пишет:</cite><blockquote><p>в трее появляется второй-третий-четвертый значок Script.ahk</p></blockquote></div><p>Ну да, работает соответственно вашему описанию. Если скрипт уже существует, то новозапущенный скрипт выдаёт сообщение и перезапускается, соответственно, получается уже два скрипта. Если запустить ещё раз, то будет три, и т. д.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-17T16:18:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157649#p157649</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157648#p157648" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, да, оно! Только теперь в трее появляется второй-третий-четвертый значок Script.ahk после каждого перезапуска. Как это исправить? Пробовала поменять в вашем скрипте &quot;#SingleInstance Off&quot; на &quot;#SingleInstance Force&quot; - помогло, но опять пропал MsgBox2 с сообщением о перезапуске.</p>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-17T15:51:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157648#p157648</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157646#p157646" />
			<content type="html"><![CDATA[<p>Если я всё правильно понял, то так:<br /></p><div class="codebox"><pre><code>#SingleInstance Off
SetTitleMatchMode, 2
DetectHiddenWindows, On

if A_Args[1]
   MsgBox, 64, Готово, Script запущен!
else {
   WinGet, list, List, %A_ScriptName% ahk_class AutoHotkey
   found := false
   Loop % list
      continue
   until list%A_Index% != A_ScriptHwnd &amp;&amp; found := true
   
   if !found
      MsgBox, 64, Готово, Script запущен!
   else {
      MsgBox, 48, Перезапуск, Выполняется перезапуск Script. Программа будет открыта через несколько секунд..., 2
      Run, % A_ScriptFullPath . &quot; 1&quot;
      ExitApp
   }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-17T15:17:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157646#p157646</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157643#p157643" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> перезапуск скрипта после появления MsgBox1 &quot;Выполняется перезапуск программы&quot;.</p>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-17T13:49:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157643#p157643</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157622#p157622" />
			<content type="html"><![CDATA[<p>А перезапуск когда? И что в итоге, должны работать два скрипта параллельно?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-17T06:42:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157622#p157622</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157621#p157621" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Перезапуск чего, себя, или другого скрипта?</p></blockquote></div><p>Перезапуск себя<br /></p><div class="quotebox"><blockquote><p>Сообщать до перезапуска, или после?</p></blockquote></div><p>До перезапуска<br />Извините, если я что-то упустила. Алгоритм действий скрипта должен быть таким:<br />1) Запускаем скрипт Script.ahk<br />2) Autohotkey проверяет, был ли запущен такой скрипт ранее (активен ли в данный момент такой же процесс).<br /></p><ul><li><p>Если да, то вместо &quot;An older instance of this script is already running.&nbsp; Replace it with this instance?&quot; должен появиться MsgBox1 &quot;Выполняется перезапуск программы&quot;. Этот MsgBox1 должен исчезнуть через 3 секунды. И после него должен появиться другой MsgBox2 &quot;Программа запущена&quot;.</p></li></ul><ul><li><p>Если нет, то сразу должен появиться MsgBox2 &quot;Программа запущена&quot;.</p></li></ul>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-17T03:57:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157621#p157621</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157619#p157619" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Что я делаю не так?</p></blockquote></div><p>Да собственно всё. начиная с вопроса, заканчивая кодом.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2023-04-16T21:43:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157619#p157619</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157618#p157618" />
			<content type="html"><![CDATA[<p>Обратите внимание на &quot;process, exist, Script.ahk&quot;, нет процесса Script.ahk, у всех ровных пацанов процесс Script.exe , и на if errorlevel1.<br />Скомпилируйте&nbsp; Script.ahk в Script.exe если нужен process, exist.</p>]]></content>
			<author>
				<name><![CDATA[EV]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40256</uri>
			</author>
			<updated>2023-04-16T21:16:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157618#p157618</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157617#p157617" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>marusa122 пишет:</cite><blockquote><p>Что я делаю не так?</p></blockquote></div><p>Похоже, не можете сами точно сформулировать задачу.<br /></p><div class="quotebox"><cite>marusa122 пишет:</cite><blockquote><p>Если да - выполнять перезапуск</p></blockquote></div><p>Перезапуск чего, себя, или другого скрипта?<br /></p><div class="quotebox"><cite>marusa122 пишет:</cite><blockquote><p>сообщать об этом с помощью другого MsgBox (MsgBox2)</p></blockquote></div><p>Сообщать до перезапуска, или после?<br /></p><div class="quotebox"><cite>marusa122 пишет:</cite><blockquote><p>и после этого запускать скрипт</p></blockquote></div><p>Так мы же вроде его уже запустили?<br />Я запутался! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2023-04-16T20:59:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157617#p157617</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Настройка запуска/перезапуска скрипта]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=157616#p157616" />
			<content type="html"><![CDATA[<p>Здравствуйте!<br />Есть скрипт с названием Script.ahk - появление MsgBox1 с текстом &quot;Программа запущена&quot;. При запуске скрипта Autohotkey должен проверять, был ли он запущен ранее и не закрыт. Если да - выполнять перезапуск, сообщать об этом с помощью другого MsgBox (MsgBox2) и после этого запускать скрипт. Пыталась написать такой скрипт, но он просто перезапускается без появления MsgBox2. Что я делаю не так?</p><div class="codebox"><pre><code>process, exist, Script.ahk ;проверяет, был ли запущен ранее такой же скрипт
if errorlevel1
	{
	#SingleInstance Force
	MsgBox, 48, Перезапуск, Выполняется перезапуск Script. Программа будет открыта через несколько секунд..., 2 ;это MsgBox2
	MsgBox, 64, Готово, Script запущен!, ;это MsgBox1
	}
else
{
MsgBox, 64, Готово, Script запущен!, ;это MsgBox1
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[marusa122]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=43077</uri>
			</author>
			<updated>2023-04-16T18:51:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=157616#p157616</id>
		</entry>
</feed>
