<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Как заблокировать "авто-повтор" на время выполнения скрипта?]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7170&amp;type=atom" />
	<updated>2012-05-04T14:58:02Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7170</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как заблокировать "авто-повтор" на время выполнения скрипта?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59970#p59970" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>BalRoG пишет:</cite><blockquote><p>Поглядите в сторону следующих параметров:<br />чтобы избежать завершение текущего потока до того как был отпущен последний хоткей<br /></p><div class="codebox"><pre><code>KeyWait</code></pre></div></blockquote></div><p>Спасибо, отчасти помогла замена GetKeyState на KeyWait. <br />Правда появился другой небольшой недостаток - если в цикле есть другие условия, break&#039;ающие Loop, то KeyWait из-за удерживания клавиши (я ведь не робот чтобы отжимать клавишу мгновенно после выполнения условия) не позволяет запускаться другим потокам (что само собой естественно). Впрочем, учитывая сложность вопроса, с этим небольшим неудобством я как-нибудь смирюсь <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[avgur]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27488</uri>
			</author>
			<updated>2012-05-04T14:58:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59970#p59970</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как заблокировать "авто-повтор" на время выполнения скрипта?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59920#p59920" />
			<content type="html"><![CDATA[<p>Поглядите в сторону следующих параметров:<br />чтобы нажатия игнорились а не буферились<br /></p><div class="codebox"><pre><code>#MaxThreadsBuffer Off</code></pre></div><p>чтобы одновременно не шло два потока на кнопку<br /></p><div class="codebox"><pre><code>#MaxThreadsPerHotkey 1</code></pre></div><p>чтобы поток не прерывался другими<br /></p><div class="codebox"><pre><code>Critical</code></pre></div><p>чтобы избежать завершение текущего потока до того как был отпущен последний хоткей<br /></p><div class="codebox"><pre><code>KeyWait</code></pre></div>]]></content>
			<author>
				<name><![CDATA[BalRoG]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27697</uri>
			</author>
			<updated>2012-05-02T14:21:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59920#p59920</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Как заблокировать "авто-повтор" на время выполнения скрипта?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59888#p59888" />
			<content type="html"><![CDATA[<p>Есть офисная клавиатура с дополнительными кнопками быстрого запуска Word, Excel и т.п. По сути кнопка Word, например, просто на аппаратном уровне посылает комбинацию клавиш Ctrl+Alt+D.<br />Я пытаюсь приспособить эти кнопки для одной онлайн игры скриптами подобно этому:</p><div class="codebox"><pre><code>
^!vk44:: 	; Ctrl+Alt+D 

SendInput,{6}{5}

Loop
	{
	SendInput {Numpad8 1}
	Sleep, 45	
	
    GetKeyState, state, vk44, P 
    if state = U 	
        break
	}
	
SendInput,{7} 	 	
Sleep, 1000 		
return</code></pre></div><p>При нажатии кнопки Word без AHK-скрипта выполняется комбинация Ctrl+Alt+D. Если продолжить удерживать Word нажатой, то Alt отпускается и зажатыми остаются Ctrl+D.<br />С выше приведенным AHK-скриптом при однократном нажатии на кнопку Word, все работает как надо. Но если кнопку нажать и держать (а это приходиться делать чаще всего), то получаются повторяющиеся быстрые нажатия комбинации Ctrl+Alt+D (то что я обозвал &quot;авто-повтором&quot; в названии темы). Это при том что скрипт еще не завершился, ведь он должен завершаться при отпускании кнопки Word.<br />Дело в том что одновременно с кнопкой Word приходится нажимать еще и F1-F12, и зачастую из-за этого &quot;авто-повтора&quot; получается что срабатывают функции игры, запускаемые по комбинациям Alt+F1 например (которых естественно я не желал), что очень сильно мешает.</p><p>Возможно ли как-то избавиться от этого &quot;авто-повтора&quot; до тех пор пока я удерживаю кнопку Word и пока скрипт не закончился?</p>]]></content>
			<author>
				<name><![CDATA[avgur]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27488</uri>
			</author>
			<updated>2012-05-01T16:56:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59888#p59888</id>
		</entry>
</feed>
