<?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=11476</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11476&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?».]]></description>
		<lastBuildDate>Thu, 07 Apr 2016 00:26:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102361#p102361</link>
			<description><![CDATA[<p>Спасибо!Теперь отлично.</p>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Thu, 07 Apr 2016 00:26:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102361#p102361</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102346#p102346</link>
			<description><![CDATA[<p>Вероятнее всего нажатие происходить в момент когда скрипт ждет Sleep 400, вылечить можно добавив переменную:<br /></p><div class="codebox"><pre><code>rcontrol::
WhileSend7:=1
KeyWait, rcontrol
while (!GetKeyState(&quot;rcontrol&quot;, &quot;P&quot;) And WhileSend7 = 1) {
Send 7
Sleep 400
}
Return
#If WhileSend7
rcontrol::WhileSend7:=0</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Nikva)]]></author>
			<pubDate>Wed, 06 Apr 2016 05:41:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102346#p102346</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102331#p102331</link>
			<description><![CDATA[<div class="codebox"><pre><code>rcontrol::
KeyWait, rcontrol
while !GetKeyState(&quot;rcontrol&quot;, &quot;P&quot;) {
Send 7
Sleep 400
}
Return </code></pre></div><p>Вроде все так и сделал,но цикл то идет,а останавливается как-то рандомно,то со 2 то с 3 нажатия,где я мог ошибиться?</p>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Tue, 05 Apr 2016 17:31:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102331#p102331</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102325#p102325</link>
			<description><![CDATA[<p><strong>Ox1de</strong></p><div class="codebox"><pre><code>1::
KeyWait, 1
while !GetKeyState(&quot;1&quot;, &quot;P&quot;) {
Send 2
Sleep 100
}
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Nikva)]]></author>
			<pubDate>Tue, 05 Apr 2016 15:34:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102325#p102325</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102322#p102322</link>
			<description><![CDATA[<p>Все-таки, удалось написать с ExitApp. Ограничение такого метода в том, что между нажатиями клавиши нужен промежуток времени в 300-500 милисекунд (пока скрипт новый запустится) <br /></p><div class="codebox"><pre><code>#SingleInstance off
#NoEnv
#UseHook On
SetBatchLines, -1
SetKeyDelay -1

Interval := 10

1::
	SetTimer timer, 0
	While GetKeyState(&quot;1&quot;,&quot;P&quot;) {
		Send 1
		Sleep %Interval%
		Send 2
		Sleep %Interval%
		Send 3
		Sleep %Interval%
		Send 4
		Sleep %Interval%
		Send 5
		Sleep %Interval%
		Send 6
	}
	return

timer:
	if !GetKeyState(&quot;1&quot;,&quot;P&quot;)
	{
		Run %A_ScriptFullPath%
		ExitApp
	}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (mafckz)]]></author>
			<pubDate>Tue, 05 Apr 2016 14:15:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102322#p102322</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102321#p102321</link>
			<description><![CDATA[<p>То что нужно получилось! Спасибо ребята! Nikva отдельное спасибо! А подскажите еще вот такой момент : нужно к примеру на клавишу 1 сделать цикл клавиши 2 и что бы он включался клавишей 1 и воспроизводился до бесконечности и этой же клавишей 1 выключался.&nbsp; </p><p>P.s. Заранее извиняюсь если много вопросов.</p>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Tue, 05 Apr 2016 14:02:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102321#p102321</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102320#p102320</link>
			<description><![CDATA[<div class="quotebox"><cite>mafckz пишет:</cite><blockquote><p>с  #SingleInstance force  создаются дубликаты скрипта (десятки и сотни)</p></blockquote></div><p>Я лечу такие скрипты добавлением в начало это кода:<br /></p><div class="codebox"><pre><code>DetectHiddenWindows, on
IfWinExist, % A_ScriptName
ExitApp</code></pre></div><p>В ahk скриптах всегда есть скрытое окно, и если уже существует окно с именем скрипта, он тут же завершится.</p>]]></description>
			<author><![CDATA[null@example.com (Nikva)]]></author>
			<pubDate>Tue, 05 Apr 2016 13:42:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102320#p102320</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102317#p102317</link>
			<description><![CDATA[<p>Поэксперементировал с Reload, чтобы при отпускании клавиши (проверка через таймер) скрипт перезагружался - не получилось, даже с&nbsp; #SingleInstance force&nbsp; создаются дубликаты скрипта (десятки и сотни). Если скомпилировать скрипт и использовать ExitApp, то можно сделать в паре с другим отдельным скриптом, который будет запускать скомпилированный скрипт (рабочий) при его отсутствии (в процессах).</p><p>А так, видимо, пириведенный выше вариант самый &quot;дубовый&quot;.</p><p>Можно сделать немного лаконичней код с помощью функции:<br /></p><div class="codebox"><pre><code>ExitIfKeyIsUp(key) {
	If !(GetKeyState(key,&quot;P&quot;))
		Exit	
}

sc4f::
   Loop
   {
      Send, {10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Send, {sc41}
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Sleep, 10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Send, {sc44}
      Sleep, 10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Send, {sc43}
      Sleep, 10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Send, {sc42}
      Sleep, 10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
      Send, {sc41}
      Sleep, 10
	  ExitIfKeyIsUp(&quot;sc4f&quot;)
   }
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (mafckz)]]></author>
			<pubDate>Tue, 05 Apr 2016 13:07:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102317#p102317</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102314#p102314</link>
			<description><![CDATA[<p>У меня нажимает, попробуйте <a href="http://www.script-coding.com/AutoHotkey/SetKeyDelay.html">SetKeyDelay</a>.<br /></p><div class="codebox"><pre><code>SetKeyDelay, 100, 50
sc4f:: ; NumpadEnd
   Loop
   {
      Send, {10
      Send, {sc41} ; F7
      Sleep, 10
      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
      Send, {sc44} ; F10
      Sleep, 10
      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
      Send, {sc43} ; F9
      Sleep, 10
      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
      Send, {sc42} ; F8
      Sleep, 10
      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
      Send, {sc41} ; F7
      Sleep, 10
      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
   }
   Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Nikva)]]></author>
			<pubDate>Tue, 05 Apr 2016 12:48:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102314#p102314</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102312#p102312</link>
			<description><![CDATA[<p><strong>Nikva</strong> Шикарно, вот то что нужно казалось бы, но почему таким способом&nbsp; ф1-ф12 не хотят нажиматься?</p><br /><p>P.s&nbsp; Разобрался, спасибо тебе большое!</p>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Tue, 05 Apr 2016 12:42:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102312#p102312</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102310#p102310</link>
			<description><![CDATA[<p>У меня вот таким образом прописан макрос, покажите&nbsp; пожалуйста что нужно дописать, чтобы этот цикл обрывался&nbsp; сразу как отпускаю клавишу. И еще появился вопрос, как сюда дописать длительность нажатия клавиши и задержку после того как отпустишь, я так понимаю sleep это и есть задержка?<br /></p><div class="codebox"><pre><code>
sc4f::
   Loop
   {
      Send, {10
      Send, {sc41}
      Sleep, 10
      Send, {sc44}
      Sleep, 10
      Send, {sc43}
      Sleep, 10
      Send, {sc42}
      Sleep, 10
      Send, {sc41}
      Sleep, 10


      If !GetKeyState(&quot;sc4f&quot;, &quot;P&quot;)
         Break
   }
   Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Tue, 05 Apr 2016 11:28:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102310#p102310</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102299#p102299</link>
			<description><![CDATA[<p>Я делаю так:</p><div class="codebox"><pre><code>1::
While GetKeyState(&quot;1&quot;,&quot;P&quot;) {
Send 2
If !(GetKeyState(&quot;1&quot;,&quot;P&quot;))
Break
Send 3
If !(GetKeyState(&quot;1&quot;,&quot;P&quot;))
Break
Send 4
If !(GetKeyState(&quot;1&quot;,&quot;P&quot;))
Break
Send 5
If !(GetKeyState(&quot;1&quot;,&quot;P&quot;))
Break
Send 6
If !(GetKeyState(&quot;1&quot;,&quot;P&quot;))
Break
}
Return</code></pre></div><p>Если кто то покажет как делать правильно, буду признателен.</p>]]></description>
			<author><![CDATA[null@example.com (Nikva)]]></author>
			<pubDate>Tue, 05 Apr 2016 09:36:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102299#p102299</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102287#p102287</link>
			<description><![CDATA[<p><span style="color: green"><strong>Ox1de</strong>, после знаков препинания нужен отступ (пробел).<br />В названии темы должен быть префикс скриптового языка.</span></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 05 Apr 2016 06:47:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102287#p102287</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Как сделать цикл который обрывается сразу после отжатия клавиши?]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102283#p102283</link>
			<description><![CDATA[<p>Здравствуйте, собственно вопрос в шапке, нужно сделать цикл, к примеру пока держу клавишу 1, печатаются клавиши 23456,&nbsp; но,&nbsp; как только я ее отпускаю цикл должен сразу прерываться, поясню, к примеру я нажал клавишу и тут же отпустил, цикл будет идти до конца и закончится, а нужно чтобы он обрывался сразу когда клавиша отжата не доходив до конца. Как это реализовать?</p>]]></description>
			<author><![CDATA[null@example.com (Ox1de)]]></author>
			<pubDate>Tue, 05 Apr 2016 00:09:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102283#p102283</guid>
		</item>
	</channel>
</rss>
