<?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=14661&amp;type=atom" />
	<updated>2019-03-23T19:44:22Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=14661</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133092#p133092" />
			<content type="html"><![CDATA[<p>На данный момент, способ<br /></p><div class="codebox"><pre><code>
DllCall(&quot;WindowFromPoint&quot;, &quot;Int64&quot;, X &amp; 0xFFFFFFFF | Y &lt;&lt; 32)
</code></pre></div><p>меня полностью удовлетворяет.<br />Еще раз, спасибо за содействие!</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-23T19:44:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133092#p133092</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133091#p133091" />
			<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>2019-03-23T18:14:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133091#p133091</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133087#p133087" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Тогда не понятно почему у вас есть какая то разница при их применении.</p></blockquote></div><p>Пока у меня не хватает знаний даже для того, чтобы что то предположить <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-23T17:06:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133087#p133087</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133081#p133081" />
			<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>2019-03-23T12:11:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133081#p133081</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133080#p133080" />
			<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>2019-03-23T12:03:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133080#p133080</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133079#p133079" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Возможно дело в этом:<br /></p><div class="quotebox"><blockquote><p>Далее ПРЕДНАМЕРЕННО передаем функции слишком много параметров,<br />потому что каждый параметр является 32-разрядным, что позволяет функции<br />автоматически комбинировать их в один параметр в 64 бита (а именно в структуру POINT)</p></blockquote></div><p>Все же полная работоспособность у меня получается при использовании варианта:<br /></p><div class="codebox"><pre><code>
DllCall(&quot;WindowFromPoint&quot;, &quot;Int64&quot;, X &amp; 0xFFFFFFFF | Y &lt;&lt; 32)
</code></pre></div><p>Остановлюсь пока на нем.</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-23T11:55:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133079#p133079</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133078#p133078" />
			<content type="html"><![CDATA[<p>Упаковка координат в структуру размером Int64.</p><p>У меня так нормально работает, никакой разницы с Int64.<br /></p><div class="codebox"><pre><code>DllCall(&quot;WindowFromPoint&quot;, &quot;Int&quot;, X, &quot;Int&quot;, Y) </code></pre></div><p>А для общего развития сам бы хотел узнать почему вместо одного параметра POINT, можно передавать два параметра.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2019-03-23T11:12:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133078#p133078</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133077#p133077" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong><br />Спасибо, API-функция WindowFromPoint - это то, что нужно!<br />Не могли бы вы мне для общего развития пояснить, что происходит в этом месте:<br /></p><div class="codebox"><pre><code>
... &quot;Int64&quot;, X &amp; 0xFFFFFFFF | Y &lt;&lt; 32 ...
</code></pre></div><p> <br />А так же почему при использовании более понятной мне формы<br /></p><div class="codebox"><pre><code>
...&quot;int&quot;, X, &quot;int&quot;, Y...
</code></pre></div><p>клик посылается сквозь окно на рабочий стол?</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-23T10:49:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133077#p133077</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133072#p133072" />
			<content type="html"><![CDATA[<p>Если в любое окно, то так попробуйте.<br /></p><div class="codebox"><pre><code>X := 155
Y := 255

1::  
	ControlClickScreen(X, Y)
	Return
	
ControlClickScreen(X, Y, WhichButton = &quot;LEFT&quot;, ClickCount = 1, Delay = 20) {
	If !hWnd := DllCall(&quot;WindowFromPoint&quot;, &quot;Int64&quot;, X &amp; 0xFFFFFFFF | Y &lt;&lt; 32) 
		Return
	WinGetPos, wX, wY, , , ahk_id %hWnd%
	Loop % ClickCount
	{
		ControlClick, % &quot;x&quot; X - wX &quot; y&quot; Y - wY, ahk_id %hWnd%, , %WhichButton%, , D Pos
		Sleep %Delay%
		ControlClick, % &quot;x&quot; X - wX &quot; y&quot; Y - wY, ahk_id %hWnd%, , %WhichButton%, , U Pos
		Sleep %Delay%
	} 
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2019-03-23T07:28:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133072#p133072</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133071#p133071" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>Да, отсылка предполагалась к ControlClick. Но раз вы кликаете в конкретное окно, в чем проблема узнать его местоположение и вычесть его из экраных координат?</p></blockquote></div><p>Проблема как раз в том, что окон на экране несколько, и узнать, в какое конкретно окно посылать клик я не могу. При помощи ImageSearch я сканирую экран на наличие заданного графического элемента. Как только элемент найден, в него я посылаю клик. Использую способ, который описал выше. Он меня не совсем устраивает.</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-22T21:54:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133071#p133071</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133054#p133054" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong><br />Функция Click перемещает курсор и только потом посылает нажатие. Мне нужно, чтобы нажатие ЛКМ происходило без перемещения курсора, как это происходит при Controlclick. Функцию Controlclick я использовать не могу, так как мне известны только лишь координаты относительно экрана.</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-22T14:55:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133054#p133054</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Нажатие ЛКМ в координаты экрана без перемещения курсора.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=133040#p133040" />
			<content type="html"><![CDATA[<p>Всем привет! У нас есть заданные координаты относительно экрана. В них нужно послать нажатие мыши. Пока использую вот такой &quot;костыль&quot;:<br /></p><div class="codebox"><pre><code>
CoordMode, Mouse, Screen
SetDefaultMouseSpeed, 0 
...
	BlockInput, On
	MouseGetPos, Xmouse, Ymouse   
    Click %Xc%, %Yc%
    MouseMove, %Xmouse%, %Ymouse%
	BlockInput, Off
...
</code></pre></div><p>Есть ли возможность реализовать задуманное иначе?</p>]]></content>
			<author>
				<name><![CDATA[Dexp205]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40032</uri>
			</author>
			<updated>2019-03-22T08:43:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=133040#p133040</id>
		</entry>
</feed>
