<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Gui, Add, Hotkey и русский язык]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=12179</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12179&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Gui, Add, Hotkey и русский язык».]]></description>
		<lastBuildDate>Sun, 27 Nov 2016 21:10:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109450#p109450</link>
			<description><![CDATA[<div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Теряюсь с блоком GetHotkeySC(hotkey). Не до конца понимаю что именно в нём происходит.</p></blockquote></div><p>Здесь с помощью RegExMatch вычленяем из полученного текста две части: первая — модификаторы, вторая — клавиша.<br />Например, из контрола Hotkey пришёл текст <span style="color: #0044aa">^!+ю</span>. Тогда в переменной key1 будет <span style="color: #0044aa">^!+</span>, а в переменной key2 — <span style="color: #0044aa">ю</span>. Далее с помощью GetKeySC() получаем сканкод клавиши <span style="color: #0044aa">ю</span> и форматируем его в шестнадцатеричное значение. Затем соединяем вместе модификаторы и полученный сканкод.<br /></p><div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Скрипт изъял сканкод клавиши. Как теперь поставить на него метку?</p></blockquote></div><div class="codebox"><pre><code>Gui, Add, Hotkey, vChosenHotkey
Gui, Add, Button, x+-80 y+5 w80 Default, Submit
Gui, Show
Return

ButtonSubmit:
   GuiControlGet, ChosenHotkey
   sc := GetHotkeySC(ChosenHotkey)
   Hotkey, % sc, Label, On
   Return
   
Label:
   MsgBox, Работает!
   Return
   
GuiClose:
   ExitApp
   
GetHotkeySC(hotkey)  {
   RegExMatch(hotkey, &quot;([!^+#]*)(.*)&quot;, key)
   Return key1 . ((StrLen(key2) = 1 || InStr(key2, &quot;Num&quot;)) ? Format(&quot;sc{:X}&quot;, GetKeySC(key2)) : key2)
}</code></pre></div><div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>В моём случае как раз наоборот: буквенные клавиши <span class="bbu">работают</span> при другой (в английской) раскладке. Или я не так истолковал слово &quot;другая&quot;? &quot;Другая&quot; = &quot;не по умолчанию&quot;?</p></blockquote></div><p>В общем, неважно, на разных машинах может работать по-разному. Смысл в том, что буквенные клавиши лучше задавать через VK или SC коды.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 21:10:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109450#p109450</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109403#p109403</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Теряюсь с блоком GetHotkeySC(hotkey). Не до конца понимаю что именно в нём происходит.<br />Скрипт изъял сканкод клавиши. Как теперь поставить на него метку?<br /></p><div class="codebox"><pre><code>Hotkey, % sc, label</code></pre></div><p>Вроде же как-то иначе?</p><div class="quotebox"><blockquote><p>...могут не работать при другой языковой раскладке...</p></blockquote></div><p>В моём случае как раз наоборот: буквенные клавиши <span class="bbu">работают</span> при другой (в английской) раскладке. Или я не так истолковал слово &quot;другая&quot;? &quot;Другая&quot; = &quot;не по умолчанию&quot;?</p>]]></description>
			<author><![CDATA[null@example.com (Oomniq)]]></author>
			<pubDate>Sun, 27 Nov 2016 07:41:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109403#p109403</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109402#p109402</link>
			<description><![CDATA[<p>Да ещё и от раскладки, на французкой кажется другие, было обсуждение. Вообщем поправил по ссылке.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 27 Nov 2016 07:21:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109402#p109402</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109400#p109400</link>
			<description><![CDATA[<p>Да, разница только в том, что я здесь скан-коды использую. Виртуальные коды на цифровой клавиатуре зависят от статуса NumLock, а скан-коды всегда одинаковы.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 07:12:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109400#p109400</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109398#p109398</link>
			<description><![CDATA[<p><strong>teadrinker</strong> наверное тоже самое, просто приведу ссылку на вроде такой же вопрос <a href="http://forum.script-coding.com/viewtopic.php?pid=102089#p102089">http://forum.script-coding.com/viewtopi … 89#p102089</a>.</p><div class="quotebox"><blockquote><p>Смысл в устранении таких недостатков:<br /><em>- Буквенные клавиши сохраняются по имени, и потом могут не работать при другой языковой раскладке (есть <a href="http://forum.script-coding.com/viewtopic.php?pid=102089#p102089">обходной путь</a>)<br />***</em></p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 27 Nov 2016 06:48:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109398#p109398</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109396#p109396</link>
			<description><![CDATA[<p><span style="color: green"><strong>Oomniq</strong>, цитировать предыдущий пост <a href="http://forum.script-coding.com/viewtopic.php?id=6148">не нужно</a>.</span><br />Если использовать всё-таки стандартный контрол, то так можно:<br /></p><div class="codebox"><pre><code>Gui, Add, Hotkey, vChosenHotkey
Gui, Add, Button, x+-80 y+5 w80 Default, Submit
Gui, Show
Return

ButtonSubmit:
   GuiControlGet, ChosenHotkey
   sc := GetHotkeySC(ChosenHotkey)
   MsgBox, % sc
   Return
   
GuiClose:
   ExitApp
   
GetHotkeySC(hotkey)  {
   RegExMatch(hotkey, &quot;([!^+#]*)(.*)&quot;, key)
   Return key1 . ((StrLen(key2) = 1 || InStr(key2, &quot;Num&quot;)) ? Format(&quot;sc{:X}&quot;, GetKeySC(key2)) : key2)
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 02:59:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109396#p109396</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109395#p109395</link>
			<description><![CDATA[<p>Спасибо, я уже находил эти темы в процессе поиска. Альтернативный контрол и его практическое применение пока за рамками моего понимания, а использование виртуальных кодов горячих клавиш в свете их назначения через gui пристально изучаю в поисках выхода из своей ситуации.</p>]]></description>
			<author><![CDATA[null@example.com (Oomniq)]]></author>
			<pubDate>Sun, 27 Nov 2016 01:29:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109395#p109395</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109394#p109394</link>
			<description><![CDATA[<p>Ясно, для начала почитайте <a href="http://forum.script-coding.com/viewtopic.php?id=7439">тут</a>. Стандартный контрол действительно работает с определёнными недостатками, но у нас разработан <a href="http://forum.script-coding.com/viewtopic.php?id=8343">альтернативный</a>.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 01:20:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109394#p109394</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109393#p109393</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>...чего именно вы хотите добиться. В таком случае можно будет сказать, возможно ли, и как именно.</p></blockquote></div><p>Через gui-интерфейс задаётся горячая клавиша. Если назначать независимые от раскладки клавиши, то проблем нет. Если же указать, например, &quot;П&quot; или &quot;Г&quot; (при текущей русской раскладке и по умолчанию она же), то в поле ввода будут отображаться &quot;G&quot; или &quot;U&quot; соответственно, а метка этой клавиши выполняться не будет ни при каких обстоятельствах.<br />Если перед заданием горячей клавиши сменить текущую раскладку на английскую, то в поле ввода тоже будет отображаться &quot;G&quot; или &quot;U&quot;, зато метка будет срабатывать как задумано. Это неудобно на тех компьютерах, где по умолчанию раскладка русская. Себе бы я на скрипт назначал какую-нибудь из F1-12, но пользователю удобнее что-то из группы &quot;над пробелом&quot;, вот и захотелось добиться от скрипта какой-то универсальности, но столкнулся с такой проблемой.</p>]]></description>
			<author><![CDATA[null@example.com (Oomniq)]]></author>
			<pubDate>Sun, 27 Nov 2016 01:12:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109393#p109393</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109392#p109392</link>
			<description><![CDATA[<p>Никакой другой из представленных на форуме языков программирования с контролами не работает, так что это вопрос не общего характера, а исключительно по AHK.</p><p>По теме — вместо того, чтобы рассуждать, почему какой-то контрол отражает что-либо так, а не иначе, проще будет, если вы поясните, чего именно вы хотите добиться. В таком случае можно будет сказать, возможно ли, и как именно.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 00:51:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109392#p109392</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109391#p109391</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Я полагал, что там раздел исключительно по программированию, отладке скриптов. У меня так-то вопрос общего характера. Освещение некоторых базовых моментов. Вроде бы нечто такое в этой ветке уже есть, потому&nbsp; сюда.</p>]]></description>
			<author><![CDATA[null@example.com (Oomniq)]]></author>
			<pubDate>Sun, 27 Nov 2016 00:44:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109391#p109391</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109390#p109390</link>
			<description><![CDATA[<div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Вот не знаю даже где задать свой вопрос, кроме как в этом разделе.</p></blockquote></div><p>Странное решение. У нас же есть ветка AHK, почему не там?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 27 Nov 2016 00:29:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109390#p109390</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=109389#p109389</link>
			<description><![CDATA[<p>Вот не знаю даже где задать свой вопрос, кроме как в этом разделе. Поискал по сети, покопался в справках, но не нашёл ничего подходящего.</p><p>Есть скрипт, в нём задействован gui и используются строки<br /></p><div class="codebox"><pre><code>Gui, Add, Hotkey, vkey
GuiControlGet, key</code></pre></div><p>В системе раскладка по умолчанию, равно как и текущая - русская. Версия Autohotkey - 1.1.24.03. Но почему при вводе значения в поле отображается английский символ нажимаемой клавиши (&quot;N&quot; вместо &quot;Т&quot; или &quot;Q&quot; вместо &quot;Й&quot;)? Почему при попытке инициализации строки controlget после указания горячей клавиши (зависящей от раскладки) с русской раскладкой выдаёт ошибку, а сама горячая клавиша остаётся не функциональной? При том, что при английской раскладке те же действия приводят к нужному результату (то есть проблема не в коде). Я что-то не так делаю? Есть какие-то дополнительные параметры или опции при создании hotkey? Как с этим бороться?</p>]]></description>
			<author><![CDATA[null@example.com (Oomniq)]]></author>
			<pubDate>Sun, 27 Nov 2016 00:06:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=109389#p109389</guid>
		</item>
	</channel>
</rss>
