<?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=16807</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16807&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Переключение раскладки в зависимости от активной программы».]]></description>
		<lastBuildDate>Fri, 10 Dec 2021 16:10:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151115#p151115</link>
			<description><![CDATA[<p>И как бы вы всё это стали делать? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Я не хочу сказать, что проверка ErrorLevel всегда бесполезна, но не в данном конкретном случае. На некотором уровне подготовки иногда нужно просто поверить.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 10 Dec 2021 16:10:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151115#p151115</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151114#p151114</link>
			<description><![CDATA[<p>Значит нужно проверить функционал, если не работает, искать, устранять ошибку. Либо вообще менять стратегию.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 10 Dec 2021 16:02:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151114#p151114</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151110#p151110</link>
			<description><![CDATA[<p>А что это даст, если выскочит сообщение <em>ErrorLevel: 1</em>?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 10 Dec 2021 15:24:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151110#p151110</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151108#p151108</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>А как окно может не существовать, если мы только что дождались его активности? ErrorLevel здесь никогда не появится.</p></blockquote></div><p>Ну во первых в Windows возможно все;<br />2. &quot;a problem <strong>such as</strong> the target window or control not existing.&quot; - тут могли о чем то умолчать и в будущих версиях вариантов может быть больше;<br />3. я уже встречал ошибки в этой документации.</p><p>Поэтому лучше сделать так: </p><div class="codebox"><pre><code>	if ErrorLevel
		MsgBox ErrorLevel: %ErrorLevel%!
</code></pre></div><p>тогда любая ошибка сразу будет видна. Одна проверка кушать много не просит и &quot;лучше перебдеть, чем недобдеть&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 10 Dec 2021 15:18:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151108#p151108</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151104#p151104</link>
			<description><![CDATA[<div class="quotebox"><cite>stuermer пишет:</cite><blockquote><p>контроль ошибок</p></blockquote></div><div class="quotebox"><cite>PostMessage —&gt; ErrorLevel пишет:</cite><blockquote><p>ErrorLevel is set to 1 if there was a problem such as the target window or control not existing. Otherwise, it is set to 0.</p></blockquote></div><p>А как окно может не существовать, если мы только что дождались его активности? ErrorLevel здесь никогда не появится.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 10 Dec 2021 13:15:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151104#p151104</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151103#p151103</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Почему Errorlevel не нужен? Мало ли какие глюки могут быть в системе, контроль ошибок. По поводу контрола, работает и так, зачем усложнять, главное, что приложение активно, это касается всех контролов и любого окна приложения (у Winamp например, много окон, когда любое из них активно, то и весь процесс активен). Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Fri, 10 Dec 2021 10:35:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151103#p151103</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151099#p151099</link>
			<description><![CDATA[<p>Так и должно быть. Sleep не нужен, ErrorLevel тоже. Сообщение посылать лучше не окну, а контролу, который в фокусе. Ищите примеры отправки этого сообщения на нашем форуме.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 09 Dec 2021 20:08:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151099#p151099</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151098#p151098</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Ок, убрал Return. Теперь стоит в бесконечном цикле.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 09 Dec 2021 19:31:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151098#p151098</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151097#p151097</link>
			<description><![CDATA[<p><strong>stuermer</strong><br />Код секции автовыполнения начинается с начала скрипта и идёт до первого Return либо до объявления первой горячей клавиши. Если нет ни того, ни другого, то до конца скрипта. В вашем коде выполнение доходит до Return и останавливается.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 09 Dec 2021 19:17:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151097#p151097</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151096#p151096</link>
			<description><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>&#039;Return&#039; для чего нужен? В целом?</p></blockquote></div><p>В <a href="https://www.autohotkey.com/docs/commands/GroupAdd.htm">справке </a>после инициализации групп стоит return. Это конец секции автоисполнения. Если нет горячих клавиш получается, что у скрипт выгружается. Если убрать return не выгружается, но непонятно где конец секции автоисполнения.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 09 Dec 2021 18:51:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151096#p151096</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151095#p151095</link>
			<description><![CDATA[<p>&#039;Return&#039; для чего нужен? В целом?</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Thu, 09 Dec 2021 17:14:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151095#p151095</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151094#p151094</link>
			<description><![CDATA[<div class="codebox"><pre><code>; autoexecute begin
GroupAdd, WinRus, ahk_exe Viber.exe
return
; autoexecute end

Loop
{
	WinWaitActive ahk_group WinRus
	PostMessage 0x50,0,0x0419
	if ErrorLevel
		MsgBox Window doesn&#039;t exist!
		
	WinWaitNotActive
	Sleep 300
}
</code></pre></div><p>Скрипт запускается и сразу выгружается. Язык по умолчанию англ. и нужно установить русский для активных окон из группы WinRus.</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Thu, 09 Dec 2021 17:05:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151094#p151094</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151084#p151084</link>
			<description><![CDATA[<p>Да, в начале скрипта создаёте группу, затем в цикле ожидаете активности любого окна из группы через <em>WinWaitActive</em> (загляните в справку, неправильно используете), посылаете окну сообщение, затем ожидаете его неактивности с помощью <em>WinWaitNotActive</em> (можно без параметров, применится к ранее активному окну).</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 08 Dec 2021 15:35:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151084#p151084</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151083#p151083</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Это понятно, но делается это один раз? Значит нужно делать state machine и на первом шаге создавать группу? На остальных state проверять смену окна как условие перехода на другой state и только при смене state 1 раз посылать месседж в активное окно. Цикл будет проходить через соответствующий state (Сase). Это практика из PLC-программирования, есть такая практика в AHK?</p>]]></description>
			<author><![CDATA[null@example.com (stuermer)]]></author>
			<pubDate>Wed, 08 Dec 2021 15:24:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151083#p151083</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Переключение раскладки в зависимости от активной программы]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=151062#p151062</link>
			<description><![CDATA[<p>В группу окна добавляются через GroupAdd.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 07 Dec 2021 18:19:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=151062#p151062</guid>
		</item>
	</channel>
</rss>
