<?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>http://forum.script-coding.com/viewtopic.php?id=5089</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=5089&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Иммитация ручного перемещения курсора мыши».]]></description>
		<lastBuildDate>Sun, 05 Dec 2010 20:50:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42535#p42535</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>А для чего нужна &quot;иммитация ручного перемещения курсора мыши&quot;?</p></blockquote></div><p>Могу предположить, что сия задача нужна на пример в некоторых онлайн играх, где работает настройка сервера на удаление за бездействие игроков и освобождения слотов для желающих зайти. При использовании этого скрипта и не желании покидать данный сервер, можно спокойно отлучиться на неопределённое время. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Grey)]]></author>
			<pubDate>Sun, 05 Dec 2010 20:50:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42535#p42535</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42350#p42350</link>
			<description><![CDATA[<p>&quot;Эмуляция человека&quot; <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /> <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 30 Nov 2010 17:42:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42350#p42350</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42348#p42348</link>
			<description><![CDATA[<p>Мне понадобилась. Возможно ещё кому то понадобится, или послужит подсказкой для своих разработок. Ну а если вам не интересна данная тематика, это уже зависит от вашего кругозора:)ъ</p><p>Я ведь тут никого ни к чему не принуждаю, просто поделился своей маленькой разработочкой...</p>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 30 Nov 2010 16:42:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42348#p42348</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42347#p42347</link>
			<description><![CDATA[<p>А для чего нужна &quot;иммитация ручного перемещения курсора мыши&quot;?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 30 Nov 2010 16:36:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42347#p42347</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42346#p42346</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Только не совсем понятно, зачем это нужно?</p></blockquote></div><p>Ну как вариант, иммитация ручного перемещения курсора мыши, не прокатит?;))<br />Кстати, и тему можно так назвать...</p>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 30 Nov 2010 16:34:30 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42346#p42346</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42343#p42343</link>
			<description><![CDATA[<p>Только не совсем понятно, зачем это нужно?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 30 Nov 2010 15:30:09 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42343#p42343</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42342#p42342</link>
			<description><![CDATA[<p>Забыл добавить, дествие данного скрипта очень хорошо видно&nbsp; в стандартном &quot;paint&quot;...стоит только зажать правую кнопку мыши и нажать хоткей))</p>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 30 Nov 2010 14:26:02 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42342#p42342</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=42341#p42341</link>
			<description><![CDATA[<p>Данный скрипт передвигает курсор мыши по случайной траектории из текущего положения в заданные координаты со случайным смещением(указываются параметры смещения) по горячей клавише.<br />Вот весь продукт моих соображений по данному вопросу).<br />По крайней мере меня он устроил полностью, выкладываю как сделал).<br />Думаю стоит отметить то, что данный код отправляет курсор мыши в назначенные координаты, но останавливается она со случайным смещением(в коде указано где и как)).<br /></p><div class="codebox"><pre><code>Process, Priority,,High                 ;выделяем максимальны приоритет процессу(может и не нужно, хз)).
SetMouseDelay, 10                     ;устанавливаем время задержки на один шаг мыши. число ставится от -1 до 100.
                                                ;(тут стоит указать, если ставим число задержки -1, то мышь передвигается в 
                                                ;точку назначения мгновенно, и преломлений случайной траектории нет. Чем больше 
                                                ;данное число, тем больше реализм приломления траектории движения мыши, но тем 
                                                ;самым медленнее её скорость перемещения).
SetDefaultMouseSpeed, 0            ;указываем скорость мыши(менять не нужно, просто замедлит её движение, если это необходимо).
CoordMode, Mouse, Screen

return




q::
Critical                                        ;cпридаем приоритет процессу.
loop                                            ;начинаем луп.
{
xf := 553-5                                     ;координата назначения по х.
yf := 580+34                                    ;координата назначения по y.
xd := xf+5                                      ;граница координаты назначения по х.
yd := yf+15                                     ;граница координаты назначения по y.
MouseGetPos, x, y                               ;берем текущее положение курсора.
if (y&gt;=yf) and (y&lt;=yd) and (x&gt;=xf) and (x&lt;=xd)  ;при выполнении условия, если текущее положение курсора попадает в квадрат с .крайними координатами xf-yf и xd-yd? тогда выполняется действие.
{
random,rsmd, 90, 110                            ;определение случайного времени задержки перед нажатием правой кнопкой мыши от 90 до 110 .миллисекунд
SetMouseDelay, rsmd                             ;включаем случайно выбранное время задержки.
random, r1,1,5                                  ;определяем число случайного отклонения от точки назначения в пикселях от 1 до 5 по оси х.
random, r2,1,1                                  ;определяем число случайного отклонения от точки назначения в пикселях от 1 до 1 по оси y.
MouseMove, xf+r1, yf+r2                         ;остановка мыши в указанной области с учетом случайных отклонений по х и у.
Break                                           ;сброс выполнения процесса.
}
else                                            ;если первое условие не выполняется, то смотрим условие:
if (y&lt;yf)                                       ;если текущее положение мыши меньше положения, куда отправляем курсор, то выполняем:
{
random,rand, -0.1, 7.5                          ;выбор случайного числа от -0.1 до 7.5.
random,rand1, -0.1, 7.5                         ;выбор случайного числа от -0.1 до 7.5.
var := ((yf-y)-rand)                            ;вычисляем длинну отрезка по х между текущим положением курсора и направляемым  
                                                          ;со случайным смещением.
var1 := ((yf-y)-rand1)                          ;снова вычисляем длинну отрезка по х между текущим положением курсора и направляемым с 
                                                           ; другим случайным смещением.
koef :=((xf - x+1) / (yf - y+1))                ;вычисляем коэффициент смещения.
y1 := (yf -var)                                 ;координата назначения курсора по у.
x1 := (xf-(var1 * koef))                        ;координата назначения по х.
MouseMove, x1, y1                               ;двигаем мышь от текущего положения к расчитанному.
}
else                                            ;иначе
{
random,rand, -0.1, 7.5                          ;выбор случайного числа от -0.1 до 7.5.
random,rand1, -0.1, 7.5                         ;выбор случайного числа от -0.1 до 7.5.
var := ((y-yf)-rand)                            ;вычисляем длинну отрезка по х между текущим положением курсора и направляемым со случайным 
                                                          ;смещением.
var1 := ((y-yf)-rand1)                          ;снова вычисляем длинну отрезка по х между текущим положением курсора и направляемым с
                                                          ; другим случайным смещением.
koef :=((x - xf+1) / (y - yf+1))                ;вычисляем коэффициент смещения.
y1 := (yf +var)                                 ;координата назначения курсора по у.
x1 := (xf+(var1 * koef))                        ;координата назначения по х.
MouseMove, x1, y1                               ;двигаем мышь от текущего положения к расчитанному.
}
}
return</code></pre></div><p>Возможно кому то поможет, всегда готов обсудить данный материал и буду благодарен за отзывы и критику:)</p>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 30 Nov 2010 14:13:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=42341#p42341</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40890#p40890</link>
			<description><![CDATA[<p>Я же не знаю, в чем состоит конечная цель. Если такой способ подходит, то почему бы и нет.</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Wed, 27 Oct 2010 03:44:07 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40890#p40890</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40885#p40885</link>
			<description><![CDATA[<div class="quotebox"><cite>InFlames пишет:</cite><blockquote><p>...необходимо сначала математически описать объект...</p></blockquote></div><p>Ну раз уж дело дошло до..., может тогда проще записать траектории реальных движений мышью (сами возим, сами пишем), а затем этот массивчик воспроизводить с отклонениями по координатам/времени, по вкусу?</p>]]></description>
			<author><![CDATA[null@example.com (jite)]]></author>
			<pubDate>Tue, 26 Oct 2010 20:51:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40885#p40885</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40880#p40880</link>
			<description><![CDATA[<p>Тут где-то на форуме видел GUI с падающим мячом. Там траектория является затухающим колебанием. <br />Думаю, что бы решить поставленную задачу, необходимо сначала математически описать объект (в данном случае траекторию движения), а затем уже пытаться реализовывать это на Ahk.</p>]]></description>
			<author><![CDATA[null@example.com (InFlames)]]></author>
			<pubDate>Tue, 26 Oct 2010 16:48:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40880#p40880</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40862#p40862</link>
			<description><![CDATA[<p>Ну, ошибка на поверхности. Нужно так:<br /></p><div class="codebox"><pre><code>x2 := x + Rand</code></pre></div><p>И дальше аналогично.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 26 Oct 2010 12:22:17 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40862#p40862</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40860#p40860</link>
			<description><![CDATA[<p>уж очень мало опыта у меня в работе с АНК, по вышеописанному методу состряпал вот такой скрипт, но он не работает, курсор вылетает к левому верхнему краю активного окна, посоветуйте, что я делаю не так?<br />вот код:<br /></p><div class="codebox"><pre><code>q::
MouseGetPos,X,Y 
xc=800
yc=600
Random, Rand, 0,10
if x&lt;xc
{
x2=x+Rand
}

if x&gt;xc
{
x2=x-Rand
}

if y&lt;yc
{
y2=y+Rand
}

if y&gt;yc
{
y2=x-Rand
}

MouseMove, x2, y2

Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 26 Oct 2010 12:01:15 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40860#p40860</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40852#p40852</link>
			<description><![CDATA[<p>Ну да, как-то так. Дерзайте. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Tue, 26 Oct 2010 10:20:34 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40852#p40852</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Иммитация ручного перемещения курсора мыши]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=40850#p40850</link>
			<description><![CDATA[<p>Каким образом посоветуете это реализовать, если координаты начальной позиции курсора всегда разные, а постоянные только конечные?<br />Хотя начальные координаты и можно взять командой MouseGetPos, но как тогда автоматизировать расчет координат промежуточных точек преломления траектории движения курсора? допустим курсор в данный момент времени имеет координаты x=320 y=900, по горячей клавише курсор отправляется в точку с координатами x=800 y=600, командой MouseClick курсор следует по прямой, как можно задать промежуточные пункты преломлений траектории движения исходя из начальных и конечных координат?<br />Пока писал, появилась мысль что можно для начала сравнить начальные и конечные координаты x и y, и при условии, если начальная координата x больше той, куда мы отправляем курсор, то начинает работатьпроцедура отнимания от начальной x случайные числа&nbsp; например от 1 до 4 до тех пор, пока не получим число равное координате куда посылаем курсор.а если начальная координата меньше конечной, то наоборот, прибавляем случайные числа пока не получим конечную координату. Аналогично поступаем с координатой y. В итоге после каждой математической операции мы получаем уникальные координаты в единицу времени. Осталось воплотить всё это в код)</p>]]></description>
			<author><![CDATA[null@example.com (Alexx)]]></author>
			<pubDate>Tue, 26 Oct 2010 09:52:55 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=40850#p40850</guid>
		</item>
	</channel>
</rss>
