<?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=13415&amp;type=atom" />
	<updated>2018-01-26T18:08:49Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=13415</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Почему перестает отвечать ЛКМ ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123409#p123409" />
			<content type="html"><![CDATA[<p>Не сочтите за рекламу. Рекламировать цели нет ничего. Кто поможет, хоть подарить могу.</p>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2018-01-26T18:08:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123409#p123409</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Почему перестает отвечать ЛКМ ?]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=123408#p123408" />
			<content type="html"><![CDATA[<p>Добрый вечер!<br />Пишу скрипт для быстрого добавления заметок в базу. На моем компьютере все работает без проблем. Ни разу не словил этот глюк. Но знакомый тестировщик постоянно ловит зависоны. Скрипт-то продолжает работать. Но перестает отвечать ЛКМ.</p><p>Подскажите, в чем может быть проблема, как исправить или куда копать.</p><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>
#SingleInstance force
#MaxHotkeysPerInterval 100
#InstallKeybdHook
#InstallMouseHook
#UseHook

...

; выделяем текст и, не отпуская левую, жмем колесико. запускается скрипт
~ LButton &amp; MButton:: ; Если нажато колесико
Loop
{
    Sleep, 10
    GetKeyState, state, MButton  , P
    if state = U  ; The key has been released, so break out of the loop.
        break
}

...

return

; выделяем текст и, не отпуская левую, жмем правую. запускается скрипт
; кстати вот эта штука тоже у него перестает работать!!! остальные горячие работают.
~ LButton &amp; RButton:: ; Если нажата ПКМ
Loop
{
    Sleep, 10
    GetKeyState, state, RButton  , P
    if state = U  ; The key has been released, so break out of the loop.
        break
}

...

return


#IfWinActive, Главная

+LButton::
event:=com10
Click
Return

+RButton::
event:=com11
Click
Return

+MButton::
event:=com12
Click
Return

^LButton::
event:=com7
Click
Return

^RButton::
event:=com8
Click
Return

^MButton::
event:=com9
Click
Return

;вот тут все самое интересное
LButton::
; вся эта запара для того, чтобы работало как обычное нажатие, так и длительное.
; делаем клик программно. потом ждем 250мс и если все еще держим, то отпускаем и запускается действие.
click, down
event:=com1
MouseGetPos, xpos, ypos
; это мы смотрим, щелчок по области экрана или нет. если в не области, то чтобы можно было перетаскивать окно и менять размеры.
if (ypos&lt;50) or (xpos&lt;9) or (xpos&gt;W-11) or (ypos-30&gt;H) {
	Loop
{
    Sleep, 10
    GetKeyState, state, LButton  , P
    if state = U  ; The key has been released, so break out of the loop.
        break
}

	click, up
} else {
	; тут будем проверять на задержку
	sleep, 250
	GetKeyState, state, Lbutton
	if state = D
    {
	event:=com2
	click, up
    }
}

return

RButton::
KeyWait,RButton, T0.3
if (ErrorLevel = 0) 
event:=com5	
else
event:=com6
Click
Return

MButton::
KeyWait,MButton, T0.3
if (ErrorLevel = 0) 
event:=com3	
else
event:=com4
Click
Return
#IfWinActive


...

; здесь идет обработка нажатия и определение события.

mainHtml_onclick(mainHtml) {
ev:=event
event:=&quot;&quot;

...

; здесь в зависимости от события выполняем нужное действие

}
</code></pre></div></div></div><p>Обзорное видео скрипта.<br /><a href="https://www.youtube.com/watch?v=l5a065AQsfk">https://www.youtube.com/watch?v=l5a065AQsfk</a></p>]]></content>
			<author>
				<name><![CDATA[gryphonn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38683</uri>
			</author>
			<updated>2018-01-26T18:06:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=123408#p123408</id>
		</entry>
</feed>
