<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: InputHook повторное использование]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15713&amp;type=atom" />
	<updated>2020-10-08T16:31:02Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=15713</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142551#p142551" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong></p><p>Раньше немного изучал на смарте, мне знаний хватало только на нём и делать программы. На компе Питон что-то не зашёл, версия была другая, модули другие, как пользоваться не знаю, изучать заново - лень, забросил короче. Нашёл сразу альтернативу - АХК. Синтаксис хороший, перехват клавиш (самое основное требование) выполняет очень удобно, вариантов применения большое, правда некоторые заморочки тоже имеются. Тем более можно написать код дома и применить на работе для автоматизации рутины.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2020-10-08T16:31:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142551#p142551</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142548#p142548" />
			<content type="html"><![CDATA[<p>Ну это автор так решил, по мне тоже логичнее что Stop останавливает а не удаляет хук вообще. Тут почему то Hook.Stop() выполняет роль Hook := &quot;&quot;.</p><p>офф:<br /></p><div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>на Питоне было так</p></blockquote></div><p>А зачем вам AutoHotkey, если на питоне пишете?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2020-10-08T16:10:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142548#p142548</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142547#p142547" />
			<content type="html"><![CDATA[<p><strong>serzh82saratov</strong></p><p>Тоже интересный вариант, я бы не пробовал даже обработчик менять, предполагая, что он назначается только при установке хука.<br />Так получается &#039;Hook.Stop()&#039; полностью не нужен в коде.</p><p>Почему же тогда при остановке нельзя заново запустить - обработчик сбрасывается?<br />Явно что-то упустил при чтении перевода справки.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2020-10-08T16:04:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142547#p142547</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142544#p142544" />
			<content type="html"><![CDATA[<p>Можете ещё обработчик обнулять.<br /></p><div class="codebox"><pre><code>
Hook := InputHook(&quot;V&quot;)
Hook.KeyOpt(&quot;{All}&quot;, &quot;N&quot;)
Hook.Start()

F2::
	If !Hook.OnKeyDown {
		Hook.OnKeyDown := Func(&quot;AnyKey&quot;)
		MsgBox,,,Вкл,1

	} Else {
		Hook.OnKeyDown := &quot;&quot;
		ToolTip
		MsgBox,,,Выкл,1 
	}
Return

AnyKey(Hook, vk, sc){
	ToolTip % GetKeyName(Format(&quot;vk{:X}sc{:X}&quot;, vk, sc)) &quot;`n&quot; Format(&quot;vk{:X} sc{:X}&quot;,vk,sc),-1000,-1000
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2020-10-08T14:43:31Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142544#p142544</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142543#p142543" />
			<content type="html"><![CDATA[<p><strong>stealzy</strong></p><p>Странно, на Питоне было так - один раз назначил перехват и хоть сколько включай / выключай.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2020-10-08T14:17:43Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142543#p142543</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142535#p142535" />
			<content type="html"><![CDATA[<p>Стоп это не остановка:<br /></p><div class="codebox"><pre><code>F2::
	If Not Hook.InProgress {
		MsgBox,,,Вкл,1
		Hook := InputHook(&quot;V&quot;)
		Hook.KeyOpt(&quot;{All}&quot;, &quot;N&quot;)
		Hook.OnKeyDown := Func(&quot;AnyKey&quot;)
		Hook.Start()
	} Else {
		MsgBox,,,Выкл,1
		Hook.Stop()
		ToolTip
	}
Return

AnyKey(Hook, vk, sc){
	ToolTip % GetKeyName(Format(&quot;vk{:X}sc{:X}&quot;, vk, sc)) &quot;`n&quot; Format(&quot;vk{:X} sc{:X}&quot;,vk,sc),-1000,-1000
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2020-10-08T00:34:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142535#p142535</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: InputHook повторное использование]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=142532#p142532" />
			<content type="html"><![CDATA[<p>Пытаюсь перехватить некоторые клавиши. Установить перехват и выключить - проблем нет, а вот повторно включить - не выходит.</p><br /><div class="codebox"><pre><code>; F2 - Установить / Включить / Выключить хук клавиатуры:
; Hook.InProgress	Текущее состояние перехвата.


F2::
If (Hook.InProgress = 0)
{
 MsgBox,0,,Запуск,1
 Hook.Start()
 Return
}
Else If (Hook.InProgress = 1)
{
 MsgBox,0,,Остановка,1
 Hook.Stop()
 Return
}

Else
{
 MsgBox,0,,Установка,1
 Hook := InputHook(&quot;V&quot;)
 Hook.KeyOpt(&quot;{All}&quot;, &quot;N&quot;)
 Hook.OnKeyDown := Func(&quot;AnyKey&quot;)
 Hook.Start()
}
Return


AnyKey(Hook, vk, sc)
{
 ToolTip % GetKeyName(Format(&quot;vk{:X}sc{:X}&quot;, vk, sc)) &quot;`n&quot; Format(&quot;vk{:X} sc{:X}&quot;,vk,sc),-1000,-1000
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2020-10-07T22:51:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=142532#p142532</id>
		</entry>
</feed>
