<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; АНК: Действие по нажатию]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5859</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5859&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «АНК: Действие по нажатию».]]></description>
		<lastBuildDate>Tue, 07 Jun 2011 09:37:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=49007#p49007</link>
			<description><![CDATA[<p>Ясно, спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 07 Jun 2011 09:37:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=49007#p49007</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48911#p48911</link>
			<description><![CDATA[<p>Честно говоря, не понял логики вышеприведённого кода.<br /></p><div class="quotebox"><cite>Grey пишет:</cite><blockquote><p>или ситуации когда он (хоткей клавиши Е) ещё не отжат, а уже нажата клавиша W, не должно произойти блокирование Е удерживаемой клавишей W.</p></blockquote></div><p>Чтобы подпрограмма горячей клавиши не перебивалась при нажатии других горячих клавиш, используется команда <a href="http://www.autohotkey.com/docs/commands/Critical.htm">Critical</a>. Если написать её первой строкой в подпрограмме горячей клавиши, нажатия других горячих клавиш не будут её перебивать, а будут буферизироваться, и выполнятся после её завершения.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 02 Jun 2011 15:30:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48911#p48911</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48867#p48867</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>А какая подпрограмма должна выполняться... ?</p></blockquote></div><p>&quot;ActionE&quot;</p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>У меня при нажатии &quot;EW&quot; ничего не происходит. Так и нужно?</p></blockquote></div><p>Да, сочетание E &amp; W, из первого кода, где я этим сочетанием пытался препятствовать блокировке клавиши Е, при отжиме её и быстром нажатии/одновременном нажатии и удержании клавиши W.</p><p>Чуть откорректировал код приведённый мною выше:</p><div class="codebox"><pre><code>vk45:: ; e
ActionE:
   ToolTip, pressed E button
   Sleep, 250
   ToolTip
   While GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
      {
         Sleep, 30
         If GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
            Gosub, ActionW
      }
   Return

vk57:: ; w
ActionW:
   ToolTip, pressed W button
   Sleep, 250
   ToolTip
   While GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
      {
         Sleep, 30
         If GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
            Gosub, ActionE
      }
   Return</code></pre></div><p>Я извиняюсь, но всё же повторюсь: при нажатии Е, должно выполниться действие этого <em>хоткея</em>, а при отжиме его и быстром нажатии, или ситуации когда он (<em>хоткей</em> клавиши Е) ещё не отжат, а уже нажата клавиша W, не должно произойти блокирование Е удерживаемой клавишей W. Если есть вариант, хотел бы узнать как сие сделать без использования While-loop?</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Wed, 01 Jun 2011 10:55:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48867#p48867</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48865#p48865</link>
			<description><![CDATA[<div class="quotebox"><cite>Grey пишет:</cite><blockquote><p>Нужно, чтобы при нажатии/удержании W, или после нажатия/отжима Е, и последующем нажатии/держании W - клавиша Е была активна.</p></blockquote></div><p>А какая подпрограмма должна выполняться, если нажато &quot;E&quot; при удерживаемом &quot;W&quot;, &quot;ActionE&quot; или &quot;ActionEW&quot;?<br /></p><div class="quotebox"><cite>Grey пишет:</cite><blockquote><p>Этот код (с While-loop), вроде работает.</p></blockquote></div><p>У меня при нажатии &quot;EW&quot; ничего не происходит. Так и нужно?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 01 Jun 2011 08:43:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48865#p48865</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48862#p48862</link>
			<description><![CDATA[<p>Видимо я не до конца выразил конечную цель, в Вашем варианте после нажатия/отжима Е, и последующем нажатии/удержании W, становится неактивна Е, так же при простом нажатии/удержании W блокируется Е. Нужно, чтобы при нажатии/удержании W, или после нажатия/отжима Е, и последующем нажатии/держании W - клавиша Е была активна. Этот код (с While-loop), вроде работает.</p><div class="codebox"><pre><code>vk45::  ; e
   If GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
      Return
   Else
   {
      KeyWait, vk57, D T0.05
      If ErrorLevel
         Gosub, ActionE
   }
   Return
   
vk57::  ; w
   If GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
      Return
   Else
      Gosub, ActionW
   Return
   
ActionE:
;   MsgBox,,,E, 1
   ToolTip, pressed E button
   Sleep, 750
   ToolTip
   While GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
      {
         Sleep, 30
         If GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
         Gosub, ActionW
      }
   Return
   
ActionW:
;   MsgBox,,,W, 1
   ToolTip, pressed W button
   Sleep, 750
   ToolTip
   While GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
      {
         Sleep, 30
         If GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
         Gosub, ActionE
      }
   Return</code></pre></div><p>Просто хотелось бы узнать, есть ли ещё какие способы оформления без While, чтобы при удержании клавиши, другие (из кода) не блокировались?</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Wed, 01 Jun 2011 00:25:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48862#p48862</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48861#p48861</link>
			<description><![CDATA[<p>Вот так при нажатии на &quot;w&quot; сразу выполняется соответствующая подпрограмма, а при нажатии на &quot;e&quot; 50 mc ожидается нажатие &quot;w&quot;:<br /></p><div class="codebox"><pre><code>vk45::  ; e
   if GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
      Return
   Else
   {
      KeyWait, vk57, D T0.05
      if ErrorLevel
         Gosub, ActionE
      Else
         Gosub, ActionEW
   }
   Return
   
vk57::  ; w
   if GetKeyState(&quot;vk45&quot;, &quot;P&quot;)
      Return
   Else
      Gosub, ActionW
   Return
   
ActionE:
   MsgBox, E
   Return
   
ActionW:
   MsgBox, W
   Return
   
ActionEW:
   MsgBox, EW
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 31 May 2011 23:51:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48861#p48861</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48860#p48860</link>
			<description><![CDATA[<p>Я правда как-то не обдумывал этот вариант с ожиданием. Программа должна выполнить действие по нажатию E, ну и если можно ждать некоторое время (совсем не много к примеру 50мс) возможного нажатия W. Собственно, само сочетание E &amp; W, оно для того, чтобы при быстром почти одновременном нажатии на E и потом на W, <em>хоткей</em> W не блокировал дальнейшие нажатия на клавишу E. А так и выходит, если в коде не будет сочетания E &amp; W.</p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 31 May 2011 23:17:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48860#p48860</guid>
		</item>
		<item>
			<title><![CDATA[Re: АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48859#p48859</link>
			<description><![CDATA[<p>Предположим, ты нажал &quot;е&quot;. Что программа должна делать, выполнять действия по нажатию &quot;е&quot;, или ждать, а не нажмёшь ли ты ещё и &quot;w&quot;, и если ждать, то сколько?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 31 May 2011 22:42:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48859#p48859</guid>
		</item>
		<item>
			<title><![CDATA[АНК: Действие по нажатию]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48857#p48857</link>
			<description><![CDATA[<p>Доброго времени суток всем, возникла интересная ситуация: в коде ниже присутствие <em>хоткея</em> на сочетание клавиш E &amp; W не дают выполнить действие по нажатию на клавишу E (в окне АНК это классифицируется как s=Suppressed (blocked)). Получается только действие по отжатию, хотя охормелено-таки на оборот. Так вот, как обойти сей казус?, при учёте, что в коде нужно наличие всех <em>хоткеев</em>? Спасибо.</p><div class="codebox"><pre><code>vk45 &amp; vk57:: ; e &amp; w
   ToolTip, действие по нажатию клавиши E &amp; W далее переход
   Sleep, 750
   ToolTip
   GoSub, Label

vk57:: ; w
Label:
   ToolTip, действие по нажатию клавиши W
   Sleep, 750
   ToolTip
   KeyWait, vk57
   Return

vk45:: ; e
   ToolTip, действие по нажатию клавиши E
   Sleep, 750
   ToolTip
   KeyWait, vk45
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Tue, 31 May 2011 21:41:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48857#p48857</guid>
		</item>
	</channel>
</rss>
