<?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>https://forum.script-coding.com/viewtopic.php?id=13128</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=13128&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Не постоянная обработка клавиш».]]></description>
		<lastBuildDate>Thu, 26 Oct 2017 22:30:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=120475#p120475</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Thu, 26 Oct 2017 22:30:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=120475#p120475</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=120461#p120461</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (prikhodko.al)]]></author>
			<pubDate>Thu, 26 Oct 2017 17:23:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=120461#p120461</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=120456#p120456</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (prikhodko.al)]]></author>
			<pubDate>Thu, 26 Oct 2017 15:43:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=120456#p120456</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Не постоянная обработка клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=120421#p120421</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Wed, 25 Oct 2017 22:38:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=120421#p120421</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Не постоянная обработка клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=120419#p120419</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (prikhodko.al)]]></author>
			<pubDate>Wed, 25 Oct 2017 20:31:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=120419#p120419</guid>
		</item>
	</channel>
</rss>
