<?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=13128&amp;type=atom" />
	<updated>2017-10-26T22:30:28Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=13128</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120475#p120475" />
			<content type="html"><![CDATA[<p>Я бы ставил это в вину кривому софту мышки. Например у logitech просто <span class="bbu">чудовищно</span> кривой софт для программирования клавиш.<br />Если ваш софт позволяет задать произвольный vk-код, то все еще удобнее - берете любой незанятый vk код, <a href="https://webcache.googleusercontent.com/search?q=cache:mN281CRb-JIJ:https://api.farmanager.com/ru/winapi/virtualkeycodes.html+&amp;cd=1&amp;hl=ru&amp;ct=clnk&amp;gl=ru&amp;client=firefox-b-ab">список занятых тут</a>.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-10-26T22:30:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120475#p120475</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120461#p120461" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>1) &quot;Alt+Shift+x&quot; → &quot;Win+F1&quot; ; любая комбинация без участия Alt и Ctrl</p></blockquote></div><p>Остановился на таком варианте:<br /></p><div class="codebox"><pre><code>
Hotkey, CapsLock, CapsLock, On
Hotkey, Tab &amp; m Up, MinimizeWindow, On
Hotkey, Tab &amp; x Up, CloseAppOrInApp, On
Hotkey, ^F1, Debug, On
Tab::Tab
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[prikhodko.al]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38841</uri>
			</author>
			<updated>2017-10-26T17:23:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120461#p120461</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120456#p120456" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>stealzy пишет:</cite><blockquote><p>Hotkey, !+x Up ; срабатывание по отпусканию позволит избежать пересечения нажатий</p></blockquote></div><p>А как это запрограммировать? Указанный синтаксис не поддерживается же.</p><p>UPD: Хм, поддерживается. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Но не помогло. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[prikhodko.al]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38841</uri>
			</author>
			<updated>2017-10-26T15:43:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120456#p120456</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120421#p120421" />
			<content type="html"><![CDATA[<p>Дело в интерференции нажатия Alt, Shift от мыши и от скрипта. Простые варианты:<br />1) &quot;Alt+Shift+x&quot; → &quot;Win+F1&quot; ; любая комбинация без участия Alt и Ctrl<br />2) Hotkey, !+x → Hotkey, !+x Up ; срабатывание по отпусканию позволит избежать пересечения нажатий<br />И вообще:<br /></p><div class="codebox"><pre><code>; SendInput {vkA2sc01D Down}{vk57sc011 Down}{vk57sc011 Up}{vkA2sc01D Up} ; ↓
Send ^{vk57} ; = 
Send % &quot;^&quot; Format(&quot;{vk{:x}}&quot;, GetKeyVK(&quot;W&quot;))
; SendInput {LAlt Down}{F4 Down}{F4 Up}{LAlt Up} ; ↓ 
Send !{F4}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2017-10-25T22:38:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120421#p120421</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Не постоянная обработка клавиш]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=120419#p120419" />
			<content type="html"><![CDATA[<p>Приветствую.<br />Win10Pro. Есть мышка с набором программируемых клавиш. Повесил на одну клавишу: если она нажата - шлёт &quot;Alt+Shift+x&quot;<br />В AHK написал следующий скрипт (скомпилирован в exe):<br /></p><div class="codebox"><pre><code>
Hotkey, CapsLock, CapsLock, On
Hotkey, !+m, MinimizeWindow, On
Hotkey, !+x, CloseAppOrInApp, On
Hotkey, ^F1, Debug, On
return

Debug:
	proc := WinGetActiveProcessName()
	MsgBox,,, _%proc%_
return

CapsLock:
	SendInput {Alt Down}{Shift Down}{Shift Up}{Alt Up}
return

MinimizeWindow:
	WinMinimize, A
return

CloseAppOrInApp:
	
	proc := WinGetActiveProcessName()
	
	if (proc = &quot;HxOutlook.exe&quot;)
	{
		;SendInput {Delete}
		SendInput {vk2Esc153 Down}{vk2Esc153 Up}
	}
	else if (proc = &quot;chrome.exe&quot;) or (proc = &quot;MicrosoftEdge.exe&quot;)
	{
		;{LCtrl Down}{w Down}{w Up}{LCtrl Up}
		SendInput {vkA2sc01D Down}{vk57sc011 Down}{vk57sc011 Up}{vkA2sc01D Up}
	}
	else
	{
		SendInput {LAlt Down}{F4 Down}{F4 Up}{LAlt Up}
	}
return

WinGetActiveProcessName() {
    WinGet name, ProcessName, A
    if (name = &quot;ApplicationFrameHost.exe&quot;) {
        ControlGet hwnd, Hwnd,, Windows.UI.Core.CoreWindow1, A
        if hwnd {
            WinGet name, ProcessName, ahk_id %hwnd%
        }
    }
    return name
}
</code></pre></div><p>Скрипт делает:<br />* если активно приложение почты - нажимаем Del - удаляем письмо;<br />* если активен браузер - нажимаем Ctrl+w - закрываем вкладку;<br />* в остальных случаях - Alt+F4</p><p>Проблема в том, что иногда эта комбинация выполняет нужный результат, но потом происходит что-то мне не понятное: больше всего похоже на то, что Alt или Shift остаются нажатыми. С соответствующими этому последствиями: обыкновенный клик мышкой приводит к выделению объектов или другим действиям, а клавиатура не реагирует на нажатия.<br />Повторное нажатие этой клавиши мышки или нажатие Alt или Shift - решает проблему.<br />Остальные комбинации (переключение раскладки и минимизация) всегда успешно работают.<br />Пробовал всякие разные варианты (поэтому такой код), но пока безрезультатно. Повторю - баг плавающий.</p>]]></content>
			<author>
				<name><![CDATA[prikhodko.al]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=38841</uri>
			</author>
			<updated>2017-10-25T20:31:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=120419#p120419</id>
		</entry>
</feed>
