<?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=8422&amp;type=atom" />
	<updated>2021-07-28T06:11:30Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8422</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=149069#p149069" />
			<content type="html"><![CDATA[<p><strong>Илья</strong>, что это было?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-07-28T06:11:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=149069#p149069</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=149068#p149068" />
			<content type="html"><![CDATA[<p>R::<br />{<br />&nbsp; &nbsp; &nbsp; &nbsp; MouseMove, 972, 568, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1650, 304, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1167, 573, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1650, 304, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1357, 582, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1650, 304, 0&nbsp; R <br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1557, 577, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	Sleep 17<br />	MouseMove, 1650, 304, 0&nbsp; R<br />	Sleep 17<br />	click, (&quot;LButton&quot;)<br />	}<br />Как сделать мышку невидимой</p>]]></content>
			<author>
				<name><![CDATA[Илья]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41892</uri>
			</author>
			<updated>2021-07-28T02:08:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=149068#p149068</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84698#p84698" />
			<content type="html"><![CDATA[<p>Даже добавил проверки, всё равно перемещается иногда не на место:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
MouseMoveAndClick(x, y)
{   
    global
    
    if !flagMyClick
        return
    flagMyClick := false
    
    SetDefaultMouseSpeed, 0 ; Скорость. Возможные значения: от 0 (быстро) до 100 (медленно)
    SetMouseDelay, -1       ; Значение -1 для отсутствия паузы и 0 для наименьшей возможной паузы
    SetBatchLines, -1       ; Use SetBatchLines -1 to never sleep (i.e. have the script run at maximum speed)
    
    MouseGetPos saveX, saveY
    SystemCursor(0)
   
    WinGet, active_id, ID, A
    CoordMode, Mouse, Client
    Click %x%, %y%
    CoordMode, Mouse, Relative   
    
    MouseMove %saveX%, %saveY%
    
    count := 0
    Loop
    {
        MouseGetPos x0, y0
        if (x0 = saveX) and (y0 = saveY)
            break
        
        ;~ CoordMode, Mouse, Relative    
        MouseMove %saveX%, %saveY%
        sleep, 50
        
        count := count + 1
        if (count &gt;=5)
            break
    }
    
    SystemCursor(1)
    flagMyClick := true
}
</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[Hydrogenium]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30160</uri>
			</author>
			<updated>2014-07-11T04:23:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84698#p84698</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84658#p84658" />
			<content type="html"><![CDATA[<p>Часто курсор мыши не возвращается в исходные координаты (saveX, saveY), в чём может быть причина ?</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
MouseMoveAndClick(x, y)
{     
    SetDefaultMouseSpeed, 0 
    SetMouseDelay, -1 
    SetBatchLines, -1     
    
    MouseGetPos saveX, saveY
    SystemCursor(0)
   
    WinGet, active_id, ID, A
    CoordMode, Mouse, Client
    Click %x%, %y%
    CoordMode, Mouse, Relative   
    
    MouseMove %saveX%, %saveY%
    SystemCursor(1)
}

SystemCursor(OnOff = 1) ; INIT = &quot;I&quot;,&quot;Init&quot;; OFF = 0,&quot;Off&quot;; TOGGLE = -1,&quot;T&quot;,&quot;Toggle&quot;; ON = others
{
    static AndMask, XorMask, $, h_cursor
    ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
    ,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
    ,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
    
    if (OnOff = &quot;Init&quot; or OnOff = &quot;I&quot; or $ = &quot;&quot;) ; init when requested or at first call
    {
        $ = h ; active default cursors
        VarSetCapacity( h_cursor,4444, 1 )
        VarSetCapacity( AndMask, 32*4, 0xFF )
        VarSetCapacity( XorMask, 32*4, 0 )
        system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
        StringSplit c, system_cursors, `,

        Loop %c0%
        {
            h_cursor := DllCall( &quot;LoadCursor&quot;, &quot;uint&quot;,0, &quot;uint&quot;,c%A_Index% )
            h%A_Index% := DllCall( &quot;CopyImage&quot;, &quot;uint&quot;,h_cursor, &quot;uint&quot;,2, &quot;int&quot;,0, &quot;int&quot;,0, &quot;uint&quot;,0 )
            b%A_Index% := DllCall(&quot;CreateCursor&quot;,&quot;uint&quot;,0, &quot;int&quot;,0, &quot;int&quot;,0 , &quot;int&quot;,32, &quot;int&quot;,32, &quot;uint&quot;,&amp;AndMask, &quot;uint&quot;,&amp;XorMask )
        }
    }

    if (OnOff = 0 or OnOff = &quot;Off&quot; or $ = &quot;h&quot; and (OnOff &lt; 0 or OnOff = &quot;Toggle&quot; or OnOff = &quot;T&quot;))
        $ = b ; use blank cursors
    else
        $ = h ; use the saved cursors        

    Loop %c0%
    {
        h_cursor := DllCall( &quot;CopyImage&quot;, &quot;uint&quot;,%$%%A_Index%, &quot;uint&quot;,2, &quot;int&quot;,0, &quot;int&quot;,0, &quot;uint&quot;,0 )
        DllCall( &quot;SetSystemCursor&quot;, &quot;uint&quot;,h_cursor, &quot;uint&quot;,c%A_Index% )
    }
}

</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[Hydrogenium]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30160</uri>
			</author>
			<updated>2014-07-10T03:25:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84658#p84658</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82556#p82556" />
			<content type="html"><![CDATA[<p>У меня онлайн-приложение исправно запускалось скриптом с ControlClick, а где-то недели две назад ControlClick перестал срабатывать. Вот гадаю, то ли очередная подлянка от гуглхрома, то ли от приложения.</p>]]></content>
			<author>
				<name><![CDATA[многобанофф]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31830</uri>
			</author>
			<updated>2014-05-02T13:02:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82556#p82556</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82553#p82553" />
			<content type="html"><![CDATA[<p>Первая часть вопроса осталась без внимания. Повторю<br /></p><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Хотите просто посылать клики без движения мыши используйте ControlClick.</p></blockquote></div><p>&nbsp; &nbsp;А если в программе, в которую отправляется такой клик, не всегда происходит действие от ControlClick? Я бы сказал 1 раз из 5 срабатывает. Есть какой-то модифицированный вариант ControlClick? Или другая замена.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-05-02T08:47:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82553#p82553</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82494#p82494" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Там первая строка - часть оператора <strong>if...else</strong>. Изучайте код, прежде чем делать выводы.</p></blockquote></div><p>&nbsp; Я никаких выводов не делал. Я задал вопрос.<br />&nbsp; Пытаюсь понять почему код сбоит. Курсор практически исправно исчезает, а вот клики не всегда проходят.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-04-30T16:10:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82494#p82494</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82470#p82470" />
			<content type="html"><![CDATA[<p>Там первая строка - часть оператора <strong>if...else</strong>. Изучайте код, прежде чем делать выводы.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-04-30T03:15:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82470#p82470</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=82443#p82443" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><div class="quotebox"><blockquote><p>не работает SetCursorPos + CoordMode</p></blockquote></div><p>Хотите просто посылать клики без движения мыши используйте ControlClick.</p></blockquote></div><p>&nbsp; &nbsp;А если в программе, в которую отправляется такой клик, не всегда происходит действие от ControlClick? Я бы сказал 1 раз из 5 срабатывает. Есть какой-то модифицированный вариант ControlClick? Или другая замена.</p><br /><div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Пожалуйста <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="quotebox"><cite>Ekklesiast пишет:</cite><blockquote><p>тут ошибка (повтор) ?</p><p>Действительно, вторая строка совсем не к месту и лишает процедуру <em>SystemCursor</em> смысла работы ))</p></blockquote></div></blockquote></div><p>&nbsp; &nbsp;Кто тут шутит? Оба?</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-04-29T20:13:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=82443#p82443</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73291#p73291" />
			<content type="html"><![CDATA[<p>Пожалуйста <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="quotebox"><cite>Ekklesiast пишет:</cite><blockquote><p>тут ошибка (повтор) ?</p><p>Действительно, вторая строка совсем не к месту и лишает процедуру <em>SystemCursor</em> смысла работы ))</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-06-25T21:33:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73291#p73291</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73276#p73276" />
			<content type="html"><![CDATA[<p><strong>Irbis</strong>, спасиб</p><div class="codebox"><pre><code>$ = h ; use the saved cursors
$ = h ; use the saved cursors</code></pre></div><p>тут ошибка (повтор) ?</p><p><strong>p.s.</strong><br />есть также норм команда<br /></p><div class="codebox"><pre><code>SetDefaultMouseSpeed, 0</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Hydrogenium]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30160</uri>
			</author>
			<updated>2013-06-24T23:20:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73276#p73276</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73273#p73273" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>не работает SetCursorPos + CoordMode</p></blockquote></div><p>Понятное дело, что не работает.<br /><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms648394%28v=vs.85%29.aspx">http://msdn.microsoft.com/en-us/library … 85%29.aspx</a><br />А чем вам MouseMove не угодил?<br />Хотите просто посылать клики без движения мыши используйте ControlClick.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2013-06-24T21:21:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73273#p73273</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73272#p73272" />
			<content type="html"><![CDATA[<p>Такой вариант с выключением курсора:<br /></p><div class="codebox"><pre><code>#NoEnv
SetMouseDelay -1
SetBatchLines -1
SystemCursor(&quot;I&quot;)
X := 200, Y := 100
Return

F12:: HideClick(X, Y)

HideClick(X, Y)
{
   MouseGetPos saveX0, saveY0
   SystemCursor(0)
   click %X%, %Y%
   MouseMove %saveX0%, %saveY0%
   SystemCursor(1)
Return
}

; Из справки AutoHotkey
SystemCursor(OnOff=1) ; INIT = &quot;I&quot;,&quot;Init&quot;; OFF = 0,&quot;Off&quot;; TOGGLE = -1,&quot;T&quot;,&quot;Toggle&quot;; ON = others
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
if (OnOff = &quot;Init&quot; or OnOff = &quot;I&quot; or $ = &quot;&quot;) ; init when requested or at first call
{
$ = h ; active default cursors
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( &quot;LoadCursor&quot;, &quot;uint&quot;,0, &quot;uint&quot;,c%A_Index% )
h%A_Index% := DllCall( &quot;CopyImage&quot;, &quot;uint&quot;,h_cursor, &quot;uint&quot;,2, &quot;int&quot;,0, &quot;int&quot;,0, &quot;uint&quot;,0 )
b%A_Index% := DllCall(&quot;CreateCursor&quot;,&quot;uint&quot;,0, &quot;int&quot;,0, &quot;int&quot;,0
, &quot;int&quot;,32, &quot;int&quot;,32, &quot;uint&quot;,&amp;AndMask, &quot;uint&quot;,&amp;XorMask )
}
}
if (OnOff = 0 or OnOff = &quot;Off&quot; or $ = &quot;h&quot; and (OnOff &lt; 0 or OnOff = &quot;Toggle&quot; or OnOff = &quot;T&quot;))
$ = b ; use blank cursors
else
$ = h ; use the saved cursors
$ = h ; use the saved cursors

Loop %c0%
{
h_cursor := DllCall( &quot;CopyImage&quot;, &quot;uint&quot;,%$%%A_Index%, &quot;uint&quot;,2, &quot;int&quot;,0, &quot;int&quot;,0, &quot;uint&quot;,0 )
DllCall( &quot;SetSystemCursor&quot;, &quot;uint&quot;,h_cursor, &quot;uint&quot;,c%A_Index% )
}
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2013-06-24T21:16:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73272#p73272</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73271#p73271" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Я тут ошибок не вижу.<br />Должно работать.<br />Протестируйте в блокноте.</p></blockquote></div><div class="quotebox"><blockquote><div class="quotebox"><cite>Ekklesiast пишет:</cite><blockquote><p>раньше было так и работало</p></blockquote></div></blockquote></div><p>не работает SetCursorPos + CoordMode</p><div class="codebox"><pre><code>MouseGetPos, xpos, ypos    

WinGet, active_id, ID, A     
   
CoordMode, Mouse, Client    
DllCall(&quot;SetCursorPos&quot;, int, x, int, y)
Click
    
CoordMode, Mouse, Relative      
DllCall(&quot;SetCursorPos&quot;, int, xpos, int, ypos)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Hydrogenium]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30160</uri>
			</author>
			<updated>2013-06-24T21:04:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73271#p73271</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как сделать невидимые (макс. быстрые) движения мыши ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=73270#p73270" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>MouseGetPos, xpos, ypos  

WinGet, active_id, ID, A 
    
CoordMode, Mouse, Client    
Click %x%, %y% 
    
CoordMode, Mouse, Relative  
MouseMove %xpos%, %ypos%, 0</code></pre></div><p>Я тут ошибок не вижу.<br />Должно работать.<br />Протестируйте в блокноте.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2013-06-24T20:50:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=73270#p73270</id>
		</entry>
</feed>
