<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: ControlSend с разными языками]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17921</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17921&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: ControlSend с разными языками».]]></description>
		<lastBuildDate>Wed, 23 Aug 2023 15:57:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: ControlSend с разными языками]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159107#p159107</link>
			<description><![CDATA[<p>Насколько я понимаю, ControlSend посылает как коды клавиш, так и символы. Последнее и даёт возможность посылать одновременно буквы разных языков. Но ваше окно, видимо, символы игнорирует, а получает их из кодов клавиш самостоятельно. Отсюда и зависимость от языка ввода. Отсюда же и проблема с регистром. Код клавиши ничего не говорит о регистре символа, о нём говорит предшествующий ему код Shift, например. Так что, думаю, для отображения заглавной &quot;А&quot; нужно посылать {Shift down}A{Shift up}. Не проверял, т.к. не на чем, нет такого окна под рукой.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Wed, 23 Aug 2023 15:57:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159107#p159107</guid>
		</item>
		<item>
			<title><![CDATA[AHK: ControlSend с разными языками]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159092#p159092</link>
			<description><![CDATA[<p>Здравствуйте, форумчане.<br />На одном проекте MTA включили анти-чит, который блокирует использование AHK (я и многие другие игроки используют его для удобства, а не для читерства или другого преимущества над другими игроками).</p><p>Хотел воспользоваться AHK Hider, но видимо, для 10 винды не подходит.</p><p>Путём тестов выяснил, что ввод сообщения через ControlSend работает, но возникла проблема с языком ввода текста.</p><p>В самом начале я как бы меняю раскладку на английскую (это необходимо для того, чтобы открылась консоль):<br /></p><div class="codebox"><pre><code>SendMessage, 0x50,, 0x4090409,, A
*открытие консоли*</code></pre></div><p>Затем, я ввожу текст, но перед этим меняю раскладку на русскую:<br /></p><div class="codebox"><pre><code>SendMessage, 0x50,, 0x4190419,, A
ControlSend,, me привет, MTA: San Andreas</code></pre></div><p>но из &quot;me привет&quot; остаётся только &quot;привет&quot;. Если не переключать раскладку с пом. SendMessage, то остаётся только &quot;me&quot;.</p><p>Пробовал цикл, который посимвольно читает строку и в зависимости от символа меняет раскладку:<br /></p><div class="codebox"><pre><code>Loop, parse, wText
   {
      if A_LoopField contains %eng%
         SendMessage, 0x50,, 0x4090409,, A
      else
         SendMessage, 0x50,, 0x4190419,, A
      ControlSend,, %A_LoopField%, MTA: San Andreas
	}</code></pre></div><p>и вместо &quot;me привет&quot; выводит &quot;mу привет&quot;.</p><p>Также заметил проблемы с регистром - он просто игнорирует заглавные буквы, запятые меняет на точки.</p><p>Пробовал в начале кода ставить<br />StringCaseSense, Locale или StringCaseSense, On - не помогает.</p><p>Помогите, как его надрессировать, чтобы он слушался регистр и другие знаки?</p>]]></description>
			<author><![CDATA[null@example.com (ivanday1)]]></author>
			<pubDate>Tue, 22 Aug 2023 22:31:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159092#p159092</guid>
		</item>
	</channel>
</rss>
