<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7878</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7878&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: A_PriorKey не всегда запоминает нажатые кнопки».]]></description>
		<lastBuildDate>Tue, 18 Dec 2012 20:06:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67136#p67136</link>
			<description><![CDATA[<p>Вы меня натолкнули на мысль, что можно блокировать кнопки Esc, !f4 и клики в определенной области и закрывать это окно с помощью autohotkey.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 18 Dec 2012 20:06:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67136#p67136</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67134#p67134</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Что вы этой фразой имели в виду?</p></blockquote></div><p>Мне нечего добавить к этой фразе.<br /></p><div class="quotebox"><blockquote><p>А без объектов такое воплотить можно?</p></blockquote></div><p>Можно, воплощайте.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 18 Dec 2012 19:56:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67134#p67134</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67133#p67133</link>
			<description><![CDATA[<p>Понял, что для того чтобы эту всю конструкцию понять нужно внимательно читать про объекты.<br />А без объектов такое воплотить можно?<br /></p><div class="quotebox"><blockquote><p>Что мешает ждать клавиши с помощью Input, а клики в нужных (или ненужных) координатах отлавливать иным способом?</p></blockquote></div><p>И еще вопрос.<br /></p><div class="quotebox"><blockquote><p>; подразумевается, что для выбора пресета будет произведён хотя бы один клик.<br />; иначе нужно обрабатывать все пути закрытия окна.</p></blockquote></div><p>Что вы этой фразой имели в виду?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 18 Dec 2012 18:40:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67133#p67133</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67132#p67132</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>это как такую конструкцию понять?</p></blockquote></div><p><em>KeyList := {}</em><br />Это создание объекта с именем KeyList.<br /><em>KeyList := {winTitle: …, Hotkeys: …}</em><br />Объект KeyList содержит два поля: winTitle и Hotkeys.<br /><em>winTitle: winTitle</em><br />В поле с именем winTitle записано содержимое переменной winTitle<br /><em>Hotkeys: [&quot;~Esc&quot;, &quot;~!f4&quot;, &quot;~LButton&quot;]</em><br />В поле с именем Hotkeys записан массив содержащий три значения:<br />под номером 1 — строку ~Esc<br />под номером 2 — строку ~!f4 и т.д.<br /></p><div class="quotebox"><blockquote><p>почему кавычки</p></blockquote></div><p>Второй аргумент — строка.<br /></p><div class="quotebox"><blockquote><p>вот это все непонятно.</p></blockquote></div><p>Это всё равнозначно:<br /></p><div class="codebox"><pre><code>Hotkey, IfWinActive, New Sequence
Hotkey, ~Esc, WindowClose , On
Hotkey, ~!f4, WindowClose, On
Hotkey, ~LButton, WindowClose, On</code></pre></div><p>При SetHotkeys(KeyList, &quot;WindowClose&quot;)<br /></p><div class="codebox"><pre><code>Hotkey, IfWinActive, New Sequence
Hotkey, ~Esc, Off
Hotkey, ~!f4, Off
Hotkey, ~LButton, Off</code></pre></div><p>При SetHotkeys(KeyList, &quot;&quot;)<br /></p><div class="quotebox"><blockquote><p>Ну и замудренный скрипт у вас получился</p></blockquote></div><p>Правильно, давайте и впредь выходить из цикла с помошью goto.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 18 Dec 2012 17:32:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67132#p67132</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67129#p67129</link>
			<description><![CDATA[<p>Если честно, то непонятно почти все.<br /></p><div class="codebox"><pre><code>KeyList := {winTitle: winTitle, Hotkeys: [&quot;~Esc&quot;, &quot;~!f4&quot;, &quot;~LButton&quot;]}</code></pre></div><p> - это как такую конструкцию понять?<br /></p><div class="codebox"><pre><code>SetHotkeys(KeyList, &quot;WindowClose&quot;)</code></pre></div><p> - почему кавычки, что значит эта буквальная строка?&nbsp; &nbsp;Типа GoSub?</p><div class="codebox"><pre><code>SetHotkeys(KeyList, label) {
    if KeyList.winTitle
        Hotkey, IfWinActive, % KeyList.winTitle

    for index, key in KeyList.Hotkeys
        Hotkey, %key%, % label? label : &quot;Off&quot;, % label? &quot;On&quot; : &quot;&quot;
}</code></pre></div><p> вот это все непонятно.</p><p>Спасибо. Ну и замудренный скрипт у вас получился.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Tue, 18 Dec 2012 16:11:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67129#p67129</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67101#p67101</link>
			<description><![CDATA[<div class="codebox"><pre><code>
; подразумевается, что для выбора пресета будет произведён хотя бы один клик.
; иначе нужно обрабатывать все пути закрытия окна.

winTitle := &quot;New Sequence&quot;
classNN := &quot;Edit4&quot;
KeyList := {winTitle: winTitle, Hotkeys: [&quot;~Esc&quot;, &quot;~!f4&quot;, &quot;~LButton&quot;]}
CloseButton := {x0: 123, x1: 234, y0: 345, y1: 567} ; координаты кнопки закрытия окна
CancelButton := {x0: 123, x1: 234, y0: 345, y1: 567} ; координаты кнопки отмены

loop
{
    WinWaitActive, %winTitle%
    SetHotkeys(KeyList, &quot;WindowClose&quot;)
    WinWaitClose, %winTitle%
    SetHotkeys(KeyList, &quot;&quot;)
}
until !windowClosed

MsgBox %winTitle%`nтекст :`n`n%text%
return

WindowClose:
    ControlGetText, text, %classNN% , %winTitle%
    windowClosed := (A_ThisHotkey ~= &quot;LButton&quot;)? ClickInRect(CloseButton) || ClickInRect(CancelButton) : true
    return

SetHotkeys(KeyList, label) {
    if KeyList.winTitle
        Hotkey, IfWinActive, % KeyList.winTitle

    for index, key in KeyList.Hotkeys
        Hotkey, %key%, % label? label : &quot;Off&quot;, % label? &quot;On&quot; : &quot;&quot;
}

ClickInRect(Rect) {
    CoordMode, Mouse, Relative
    MouseGetPos, x, y
    return x &gt; Rect.x0 &amp;&amp; x &lt; Rect.x1 &amp;&amp; y &gt; Rect.y0 &amp;&amp; y &lt; Rect.y1
}</code></pre></div><p>Непонятно — спрашивайте, прокомментирую.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 18 Dec 2012 05:00:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67101#p67101</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67088#p67088</link>
			<description><![CDATA[<p>Irbis, с флагом тоже пробовал - результат такой же.<br />Мне кажется, что A_PriorKey что срабатывание хоткиев проходят по одному алгоритму.<br /></p><div class="quotebox"><blockquote><p>Что мешает ждать клавиши с помощью Input, а клики в нужных (или ненужных) координатах отлавливать иным способом?</p></blockquote></div><p>Ну вот с Input я так до конца и не разобрался, потому как цикл останавливается на этом инпуте и ждет нажатия кнопки.<br />А как ловить паралельно нажатия мыши?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 17 Dec 2012 16:24:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67088#p67088</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67087#p67087</link>
			<description><![CDATA[<p>Что мешает ждать клавиши с помощью Input, а клики в нужных (или ненужных) координатах отлавливать иным способом?</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 17 Dec 2012 16:06:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67087#p67087</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67086#p67086</link>
			<description><![CDATA[<p>Так команда Input же ждет пока не произойдет нажатие определенной клавиши.<br />А мне надо, чтобы цикл заканчивался не только по нажатию enter, но и по нажатию кнопки мышки.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 17 Dec 2012 16:00:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67086#p67086</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67085#p67085</link>
			<description><![CDATA[<p>Попробуй вместо использования A_PriorKey менять флаг (Achtung <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> ), повесив на Esc хоткей:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>#SingleInstance force
#InstallKeybdHook
#InstallMouseHook
Start:
loop
{
   IfWinActive, New Sequence
   {          
      Achtung := 0
      loop
      {
         GetKeyState, state, LButton
         if state = D
            MouseGetPos, xpos, ypos
         NameOld := Name
         ControlGetText, Name, Edit4, New Sequence
         IfWinNotExist, New Sequence
            break
      }
      if Achtung || (A_PriorKey = &quot;LButton&quot;) &amp;&amp; (xpos &gt; 590) || (A_PriorKey = &quot;LButton&quot;) &amp;&amp; (ypos &lt; 60)
         Continue
      SplashImage,,  w120 B1  ,, Please Wait...
      If Name =
         Name := NameOld
      StringReplace, Name, Name, `r`n, `n, All
      Send, ^{vk5A}^{vk49} ; Crtl+z Ctrl+i 
.......


~Escape::
~!F4::
Achtung := 1
Return </code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 17 Dec 2012 15:53:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67085#p67085</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67084#p67084</link>
			<description><![CDATA[<p>Input попробовали, но использовать решили A_priorKey, A_priorKey надежды не оправдал, но …<br />Что-то я не пойму ход ваших мыслей <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 17 Dec 2012 15:47:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67084#p67084</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67082#p67082</link>
			<description><![CDATA[<p>Да, с Input я тоже вначале пробовал.<br />Но&nbsp; проблема в том, что «не отменять» его можно не только нажатием Enter,<br />но еще и нажатием мыши на ОК либо нажатием 2 раза мышью на любой из пресетов.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 17 Dec 2012 15:29:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67082#p67082</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67080#p67080</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>которое можно закрыть (отменить) с помощью esc, Alt+f4, или нажав на кнопку cancel или нажав на крестик.</p></blockquote></div><p>Сответственно «не отменять» его можно лишь нажатием Enter?</p><p>Правильнее отслеживать событие которое явно указывает на необходимость продолжать, ведь окно можно «убрать» иными способами, учёт которых не имеет смысла.</p><p>Пример:<br /></p><div class="codebox"><pre><code>winTitle := &quot;ahk_class Notepad&quot;
classNN := &quot;Edit1&quot;

loop {
    WinWaitActive, %winTitle%
    ControlGetText, Name, %classNN% , %winTitle%
    Input, singleKey, v l1, {Enter}
}
until ErrorLevel = &quot;EndKey:Enter&quot;

MsgBox мы дождались нажатия Enter в окне %winTitle%`nтекст в окне перед нажатием Enter:`n`n%Name%</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 17 Dec 2012 15:09:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67080#p67080</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67068#p67068</link>
			<description><![CDATA[<p>А лучший вариант можно озвучить?<br />А то я знаю только еще один.<br /><a href="http://www.autohotkey.com/docs/FAQ.htm#repeat">http://www.autohotkey.com/docs/FAQ.htm#repeat</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 17 Dec 2012 13:47:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67068#p67068</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: A_PriorKey не всегда запоминает нажатые кнопки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=67066#p67066</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>А в какую сторону пересматривать-то?</p></blockquote></div><p>В строну отказа от A_PriorKey.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 17 Dec 2012 13:41:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=67066#p67066</guid>
		</item>
	</channel>
</rss>
