<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: ControlSend перестает отправлять нажатия клавиш (залипают).]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=17970&amp;type=atom" />
	<updated>2023-10-10T19:31:40Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=17970</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ControlSend перестает отправлять нажатия клавиш (залипают).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=159323#p159323" />
			<content type="html"><![CDATA[<p>Установил 2 версию AHK, скрипт поменял под нее, но обе проблемы так и остались.<br /></p><div class="codebox"><pre><code>Numpad3::
{
loop {
	CoordMode &quot;Pixel&quot;, &quot;Screen&quot;
	If PixelSearch(&amp;Px, &amp;Py, 508, 148, 584, 167, 0x881C18, 3)
		ControlSend &quot;{F1}&quot;,, &quot;Asterios Prime&quot;
		else
		ControlSend &quot;{F2}&quot;,, &quot;Asterios Prime&quot;
	sleep (2000)
	}
return
}
numpad2::Pause</code></pre></div>]]></content>
			<author>
				<name><![CDATA[barbarossa]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=43360</uri>
			</author>
			<updated>2023-10-10T19:31:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=159323#p159323</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: ControlSend перестает отправлять нажатия клавиш (залипают).]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=159322#p159322" />
			<content type="html"><![CDATA[<p>Здравствуйте.</p><p>Есть небольшой цикл. Ищет определенный цвет в области экрана, если нашел - посылает в игру нажатие F1, если не нашел - посылает нажатие F2. Игра в окне на втором мониторе, окно неактивно, поэтому использую ControlSend, ahk_id предварительно узнаю и вставляю в значение переменной. Сам соответственно что-то делаю на основном мониторе.</p><p>Есть 2 проблемы:<br />1) Залипание Shift при работе скрипта - набираю текст на основном мониторе в ворд/браузере/почте, и периодически то большая буква выскочит, то вместо запятой точка, то между шрифтами не переключается (как будто шифт кто-то периодически жамкает, хотя в скрипте нет нажатия шифта).<br />2) При запуске скрипта всё работает, но через какое-то время перестают посылаться нажатия то F1 то F2 в игру. Когда произойдет сбой - непонятно, то несколько часов всё работает, то каждую минуту &quot;затупливает&quot;. Перезапуск скрипта - не помогает. НО если нажму эту зависшую клавишу (F1 или F2) физически, при этом не важно в окне игры нажимаю или просто в любом другом, то в игре скрипт снова начинает работать и отправлять нажатия F1/F2, т.е. как будто клавиши программно &quot;залипают&quot; и физическое нажатие их &quot;разлипает&quot;. Думал, что это из-за того, что параллельно нажимаю кнопки на клавиатуре при работе, но даже если клаву не трогаю, то всё равно игра может перестать реагировать на F1 или F2, и опять же при их физическом нажатии на клавиатуре - снова всё начинает работать.</p><p>Почитал темы: пробовал увеличить задержки с помощью SetKeyDelay; поставить {blind} перед {F1}; посылать отдельно {F1 down} и {F1 up} с разными задержками между событиями через sleep; дополнительно посылать {F1 up} в разные моменты скрипта - проблема с &quot;залипанием&quot; клавиш так и остается.</p><p>Скрипт ниже, версия AHk 1.1.37.01</p><div class="codebox"><pre><code>Numpad3::

global Gam := 0x504a2

loop
{
	CoordMode, Pixel, Screen
	PixelSearch, FoundX, FoundY, 508, 148, 584, 167, 0x881C18, 0, Fast RGB
	If (ErrorLevel = 0)
		ControlSend,, {F1}, ahk_id %Gam%
		else ControlSend,, {F2}, ahk_id %Gam%
	sleep, 2000
}
return

numpad2::Pause</code></pre></div>]]></content>
			<author>
				<name><![CDATA[barbarossa]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=43360</uri>
			</author>
			<updated>2023-10-10T18:06:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=159322#p159322</id>
		</entry>
</feed>
