<?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=12782&amp;type=atom" />
	<updated>2017-07-03T11:02:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12782</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117049#p117049" />
			<content type="html"><![CDATA[<p>Я про свой хук.<br />Насчет синхронизации может и ошибаюсь, надо код пробовать с хуком и проверками. Да и задача размытая, помимо координат может и все кнопки мыши тоже надо проверять. А если требуется блокировать все эмулированные действия, то такое скорее всего будет часто подвисать.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T11:02:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117049#p117049</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117048#p117048" />
			<content type="html"><![CDATA[<p>Почему хук не нужен?<br />Для A_TimeIdlePhysical нужен #InstallMouseHook.<br />Насчет синхронизации не понял.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-07-03T10:55:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117048#p117048</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117047#p117047" />
			<content type="html"><![CDATA[<p>И даже с нулевым интервалом синхронизация будет так себе.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T10:52:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117047#p117047</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117046#p117046" />
			<content type="html"><![CDATA[<p>Тогда и хук и как бы не нужен.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T10:50:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117046#p117046</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117045#p117045" />
			<content type="html"><![CDATA[<p>Ну да. Через MouseGetPos.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-07-03T10:48:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117045#p117045</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117044#p117044" />
			<content type="html"><![CDATA[<p>Так оно и на смену положения не реагирует. Предлагаешь проверять циклом координаты?<br /></p><div class="codebox"><pre><code>SendPlay {Click 100, 200, 0}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T10:46:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117044#p117044</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117043#p117043" />
			<content type="html"><![CDATA[<p>Проверять при смене положения курсора.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-07-03T10:17:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117043#p117043</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117042#p117042" />
			<content type="html"><![CDATA[<p>Проверять то можно, но когда? Если мы не можем знать, что событие произошло.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T09:56:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117042#p117042</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117041#p117041" />
			<content type="html"><![CDATA[<p>Можно проверять A_TimeIdlePhysical с установленным мышиным хуком.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2017-07-03T09:50:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117041#p117041</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117040#p117040" />
			<content type="html"><![CDATA[<p>MouseMove есть опция Relative.<br /></p><div class="quotebox"><cite>powercat пишет:</cite><blockquote><p>И все равно SendMode Play остается незаметным.</p></blockquote></div><p>HID тоже пропускает такое событие.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2017-07-03T09:30:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117040#p117040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117038#p117038" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Спасибо все работает. И все равно SendMode Play остается незаметным. </p><p>Чуть не в тему. Можно ли данную строку воспроизвести с помощью MouseMove или чего-то из инструментария AutoHotKey?<br /></p><div class="codebox"><pre><code>DllCall(&quot;mouse_event&quot;,uint,1,int,x,int,y,uint,0,int,0)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[powercat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=37884</uri>
			</author>
			<updated>2017-07-03T00:49:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117038#p117038</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117037#p117037" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>OnExit, Exit
hHookMouse := DllCall(&quot;SetWindowsHookEx&quot;
   , Int, WH_MOUSE_LL := 14
   , Int, RegisterCallback(&quot;LowLevelMouseProc&quot;, &quot;Fast&quot;)
   , Ptr, DllCall(&quot;GetModuleHandle&quot;, UInt, 0, Ptr)
   , UInt, 0, Ptr)
Return

Exit:
    DllCall(&quot;UnhookWindowsHookEx&quot;, Ptr, hHookMouse)
    ExitApp

LowLevelMouseProc(nCode, wParam, lParam)
{
   static msg, mouse_x, mouse_y, ext, time, injected, LOWER_IL_INJECTED
      , oMsg := { 0x200: &quot;WM_MOUSEMOVE&quot;
                , 0x201: &quot;WM_LBUTTONDOWN&quot;, 0x202: &quot;WM_LBUTTONUP&quot;
                , 0x204: &quot;WM_RBUTTONDOWN&quot;, 0x205: &quot;WM_RBUTTONUP&quot;
                , 0x207: &quot;WM_MBUTTONDOWN&quot;, 0x208: &quot;WM_MBUTTONUP&quot;
                , 0x20B: &quot;WM_XBUTTONDOWN&quot;, 0x20C: &quot;WM_XBUTTONUP&quot;
                , 0x20A: &quot;WM_MOUSEWHEEL&quot; , 0x20E: &quot;WM_MOUSEHWHEEL&quot; }
                
      , oMouseData := { 0: &quot;0&quot;, 1: &quot;XBUTTON1&quot;, 2: &quot;XBUTTON2&quot;
                      , 120: &quot;WHEEL_DELTA forward&quot;, -120: &quot;WHEEL_DELTA backward&quot; }

   msg := wParam
   mouse_x := NumGet(lParam + 0, &quot;Int&quot;)
   mouse_y := NumGet(lParam + 4, &quot;Int&quot;)
   ext     := NumGet(lParam + 10, &quot;Short&quot;)
   injected:= NumGet(lParam + 12, &quot;Char&quot;) &amp; 1
   LOWER_IL_INJECTED := NumGet(lParam + 12, &quot;Char&quot;) &gt;&gt; 1
   time    := NumGet(lParam + 16, &quot;UInt&quot;)
   
   SetTimer, EventHandling, -10
   Return DllCall(&quot;CallNextHookEx&quot;, Ptr, 0, Int, nCode, UInt, wParam, UInt, lParam)

EventHandling:
   ToolTip, % &quot;Message = &quot;     . oMsg[msg]
            . &quot;`nMouse_X = &quot;   . mouse_x
            . &quot;`nMouse_Y = &quot;   . mouse_y
            . &quot;`nMouseData = &quot; . oMouseData[ext]
            . &quot;`ninjected = &quot;  . injected
            . &quot;`nLOWER_IL_INJECTED = &quot; . LOWER_IL_INJECTED
            . &quot;`nTime = &quot;      . time
   Return
}

Esc::ExitApp</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-07-02T23:25:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117037#p117037</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117036#p117036" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста, как узнать значение флага LLMHF_LOWER_IL_INJECTED.</p>]]></content>
			<author>
				<name><![CDATA[powercat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=37884</uri>
			</author>
			<updated>2017-07-02T21:59:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117036#p117036</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117035#p117035" />
			<content type="html"><![CDATA[<p>Не знаю, не интересовался.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2017-07-02T20:02:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117035#p117035</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Распознавание машинного ввода и эмуляции нажатия кнопки мыши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117034#p117034" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Это возможно как-то отследить?</p>]]></content>
			<author>
				<name><![CDATA[powercat]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=37884</uri>
			</author>
			<updated>2017-07-02T19:57:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117034#p117034</id>
		</entry>
</feed>
