<?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=7115</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7115&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Послать клик мышкой в определённое место минимизированного окна».]]></description>
		<lastBuildDate>Mon, 14 Sep 2015 07:32:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97414#p97414</link>
			<description><![CDATA[<p><strong>yalanne</strong>, что-то больно много скобочек. Так лучше:<br /></p><div class="codebox"><pre><code>msg := 0x201 ; WM_LBUTTONDOWN
SetFormat, IntegerFast, H ; Нужен только для первой строчки тултипа, показывает в hex&#039;е число.
Gui, Show,w100 h100
OnMessage(msg, &quot;WM_$BUTTON&quot;)
Return

WM_$BUTTON(wParam, lParam)
{
    ToolTip % &quot;Все:`t`t`t`t&quot; wParam &quot;`tlParam=&quot; lParam &quot;`n&quot;
        . &quot;`n[MK_CONTROL] Клавиша Ctrl:`t`t&quot;    ( wParam&amp;0x8 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_LBUTTON] Клавиша LButton:`t&quot;   ( wParam&amp;0x1 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_MBUTTON] Клавиша MButton:`t&quot;   ( wParam&amp;0x10 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_RBUTTON] Клавиша RButton:`t&quot;   ( wParam&amp;0x2 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_SHIFT] Клавиша Shift:`t`t&quot;     ( wParam&amp;0x4 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_XBUTTON1] Клавиша XBUTTON1:`t&quot; ( wParam&amp;0x20 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`n[MK_XBUTTON2] Клавиша XBUTTON2:`t&quot; ( wParam&amp;0x40 ? &quot;&quot; : &quot;не&quot;) &quot; нажата`n&quot;
        . &quot;`nx &quot; lParam&amp;0xffff
        . &quot;`ny &quot; lParam&gt;&gt; 16
}
</code></pre></div><p>Попутно <a href="http://forum.script-coding.com/viewtopic.php?id=7632">тему</a> нашел.</p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Mon, 14 Sep 2015 07:32:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97414#p97414</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97412#p97412</link>
			<description><![CDATA[<p><strong>Drugoy</strong>,<br /><a href="https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms645607(v=vs.85).aspx">На сайте microsoft&#039;а байты расписаны.</a> Они Могут быть в шестнадцатеричной или в десятичной системе счисления, так же их можно комбинировать. <br />В сообщениях WM_<strong><span style="color: blue">[L,R,M]</span></strong>BUTTON<strong><span style="color: blue">[DOWN,UP]</span></strong> Вроде как если задать параметр в wParam то не чего не будет(то есть в постах выше он нечего не делает. но возможно и ошибаюсь). Но вот если получать ответ то можно узнать какая кнопка на данный момент нажата физически. Вот пример с ответом своего окна:<br />(Исправленный вариант постом нижу у Alectric)</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Mon, 14 Sep 2015 06:08:26 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97412#p97412</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97387#p97387</link>
			<description><![CDATA[<p>Если кто-нибудь кроме ув. <strong>Irbis</strong> знает ответы на мои вопросы - прошу, ответьте!</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Sat, 12 Sep 2015 18:54:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97387#p97387</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97220#p97220</link>
			<description><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Если <em>вкратце</em>, то 1 означает установку бита MK_LBUTTON в состояние ON (сообщает окну, что нажата ЛКМ).</p></blockquote></div><p>1. А как вы это узнали?<br />По ссылке, что вы приводили - для wParam идёт список допустимых значений:<br /></p><div class="codebox"><pre><code>MK_CONTROL
MK_LBUTTON
MK_MBUTTON
MK_RBUTTON
MK_SHIFT
MK_XBUTTON1
MK_XBUTTON2 </code></pre></div><p>Если все эти значения - биты, то ваша 1 - это значение в какой системе&nbsp; и откуда оно получилось? Не должен ли MK_LBUTTON ON быть 0100000 в двоичной системе (или 20 в шестнадцатеричной или 32 в десятичной)?</p><p>2. Можете поподробнее рассказать про возможные аргументы wParam для этого и аналогичных сообщений? могут ли быть комбинации этих битов или оно не будет иметь смысл?</p><p>3. Какой смысл у значений вроде MK_MBUTTON/MK_RBUTTON, если отправляемая кнопка мыши зависит от (номера) посылаемого сообщения? Эти аргументы wParam же приведены для сообщения WM_<strong>LBUTTON</strong>DOWN! Что будет если отправить wParam=MK_RBUTTON для этого сообщения?</p>]]></description>
			<author><![CDATA[null@example.com (Drugoy)]]></author>
			<pubDate>Tue, 08 Sep 2015 10:53:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97220#p97220</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97212#p97212</link>
			<description><![CDATA[<p>Некоторые программы в свёрнутом виде воспринимают ControlClick, нужно пробовать.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 08 Sep 2015 07:53:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97212#p97212</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=97208#p97208</link>
			<description><![CDATA[<div class="codebox"><pre><code>
IfWinactive, ahk_exe MyProgram.exe
Send, {F2}{alt}{t}{v}{f}
ControlClick, button2, * - MyProgram ahk_class MyProgram .Class.Frame, , left, , , x136 y18 NA
WinWait, MySubWindow -- MyTitle
Winhide, MySubWindow -- MyTitle
WinWaitClose, MySubWindow -- MyTitle
Sleep, 300
Send, ^+{vkDB}
Sleep, 300
Send, {alt}{t}{w}
Return
Reload</code></pre></div><p>Имеется сценарий, по которому в программу посылаются нажатия клавиш, далее открывается дочернее окно программы со шкалой прогресса, по завершению прогресса окно закрывается, в результате чего отправляется еще группа клавиш. Скажите, пожалуйста, возможно ли реализовать данный сценарий при свернутом на панель задач окне программы?</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Tue, 08 Sep 2015 06:38:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=97208#p97208</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59433#p59433</link>
			<description><![CDATA[<p>creature.ws, спасибо.<br />Картина вырисовывается. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 16 Apr 2012 20:40:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59433#p59433</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59432#p59432</link>
			<description><![CDATA[<p>Если в родительском окне по координатам 0:0 находиться верхний левый угол некого дочернего окна имеющего размеры 100x100px, то клик отправленный в родительское окно по координатам 50:50 не придётся на дочернее окно, клик будет произведён «под ним»&nbsp; по родительскому.</p><p>Под Target Window имеется в виду окно по которому будет произведён клик. (В контексте вышеупомянутого&nbsp; использования PostMessage)</p><p>Родительское и дочерние окна — как слои в графическом редакторе <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> не следует «видеть» их «глазами пользователя».</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Mon, 16 Apr 2012 20:16:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59432#p59432</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59431#p59431</link>
			<description><![CDATA[<p>Нет, всё-таки не всё понятно<br /></p><div class="quotebox"><blockquote><p>У тебя условие какое? Если приложение не имеет видимых контролов. А у блокнота один такой большой контрол Edit, которому и надо отправлять сообщение.</p></blockquote></div><p>Но в справке сказано<br /></p><div class="quotebox"><blockquote><p>Control - If this parameter is blank or omitted, the message will be sent directly to the target window rather than one of its controls.</p></blockquote></div><p><a href="http://www.autohotkey.com/docs/commands/PostMessage.htm">http://www.autohotkey.com/docs/commands/PostMessage.htm</a><br />Что имеется ввиду под Target Window - Окно блокнота целиком (его периметр)?<br />Или все места без обозначеннных контролов?<br />И куда в итоге посылается клик при конструкции без указания контрола в ноутпаде?<br /></p><div class="quotebox"><blockquote><p>Один из возможных способов - отправлять окну с идентификатором id сообщение о клике мышкой по кооординатам x, y:</p></blockquote></div><p>А что есть ещё другие варианты?<br />Это я так, чисто для самообразования.</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 16 Apr 2012 19:49:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59431#p59431</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59430#p59430</link>
			<description><![CDATA[<p>Да, теперь понятно спасибо!<br /></p><div class="quotebox"><blockquote><p>Но почему-то координаты нажатия по F11 берутся от угла всего окна, а отправляются через PostMessage со смещением на ширину заголовка. Непонятно, почему, но можно компенсировать.</p></blockquote></div><p>Можно вот этим кодом.<br /></p><div class="codebox"><pre><code>F11:: 
SysGet, TitleBarHeight, 4
msgbox %TitleBarHeight%</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 16 Apr 2012 19:31:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59430#p59430</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59427#p59427</link>
			<description><![CDATA[<p>У тебя условие какое? Если приложение не имеет видимых контролов. А у блокнота один такой большой контрол Edit, которому и надо отправлять сообщение.</p><div class="codebox"><pre><code>F11:: MouseGetPos x, y, id, cont
F12::
   PostMessage, 0x201, 1, ((y&lt;&lt;16)^x), %cont%,  ahk_id %id%
   PostMessage, 0x202 , 0, ((y&lt;&lt;16)^x), %Cont%, ahk_id %id%
return</code></pre></div><p>Или, модернизируя твой пример:<br /></p><div class="codebox"><pre><code>settitlematchmode 2
F12::
   PostMessage, 0x201, 1, ((100&lt;&lt;16)^100), Edit1,  ahk_class Notepad
   PostMessage, 0x202 , 0, ((100&lt;&lt;16)^100), Edit1, ahk_class Notepad
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 16 Apr 2012 18:38:19 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59427#p59427</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59426#p59426</link>
			<description><![CDATA[<p>Вот смотри, я запускаю блокнот, обвожу там весь текст в документе, мышку оставляю в зоне выделения.<br />Потоми запускаю твой скрипт и текст продолжает оставаться выделенным.<br /></p><div class="codebox"><pre><code>F11:: MouseGetPos x, y, id
F12::
   PostMessage, 0x201, 1, ((y&lt;&lt;16)^x), , ahk_id %id%
   PostMessage, 0x202 , 0, ((y&lt;&lt;16)^x), , ahk_id %id%
return</code></pre></div><p>Как так?</p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 16 Apr 2012 18:24:38 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59426#p59426</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59425#p59425</link>
			<description><![CDATA[<p>Если <em>вкратце</em>, то 1 означает установку бита MK_LBUTTON в состояние ON (сообщает окну, что нажата ЛКМ),<br />а конструкция (y&lt;&lt;16)^x &quot;упаковывает&quot;, так сказать, координаты x и y в lParam, т.е. старшая часть (3,4 байты) содержит y, а младшая чать (1,2 байты) содержит x<br />В Опере работает так:<br /></p><div class="codebox"><pre><code>F11:: MouseGetPos x, y, id
F12::
   PostMessage, 0x201, 1, ((y&lt;&lt;16)^x), , ahk_id %id%
   PostMessage, 0x202 , 0, ((y&lt;&lt;16)^x), , ahk_id %id%
return</code></pre></div><p>Но почему-то координаты нажатия по F11 берутся от угла всего окна, а отправляются через PostMessage со смещением на ширину заголовка. Непонятно, почему, но можно компенсировать.</p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 16 Apr 2012 18:09:24 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59425#p59425</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59424#p59424</link>
			<description><![CDATA[<p>Я там уже ползал, но не нашёл ответа.<br />Может просветишь вкратце?<br />И кстати в ноутпаде такое не прокатывает <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>settitlematchmode 2
f11:: 
  PostMessage, 0x201, 1, ((100&lt;&lt;16)^100), , ahk_class Notepad         ;WM_LBUTTONDOWN
  PostMessage, 0x202, 0, ((100&lt;&lt;16)^100), , ahk_class Notepad               ;WM_LBUTTONUP</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Mon, 16 Apr 2012 17:57:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59424#p59424</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Послать клик мышкой в определённое место минимизированного окна]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=59423#p59423</link>
			<description><![CDATA[<p><a href="http://vsokovikov.narod.ru/New_MSDN_API/Mouse_input/notify_wm_lbuttondown.htm">WM_LBUTTONDOWN</a></p>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Mon, 16 Apr 2012 17:53:10 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=59423#p59423</guid>
		</item>
	</channel>
</rss>
