Не постоянная обработка клавиш Topic is solved

Помощь в написании скриптов
Real 3L0

Не постоянная обработка клавиш  Topic is solved

24 Oct 2017, 15:45

Приветствую.
Win10Pro. Есть мышка с набором программируемых клавиш. Повесил на одну клавишу: если она нажата - шлём "Alt+Shift+x"
В AHK написал следующий скрипт (скомпилирован в exe):

Code: Select all

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 = "HxOutlook.exe")
	{
		;SendInput {Delete}
		SendInput {vk2Esc153 Down}{vk2Esc153 Up}
	}
	else if (proc = "chrome.exe") or (proc = "MicrosoftEdge.exe")
	{
		;{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 = "ApplicationFrameHost.exe") {
        ControlGet hwnd, Hwnd,, Windows.UI.Core.CoreWindow1, A
        if hwnd {
            WinGet name, ProcessName, ahk_id %hwnd%
        }
    }
    return name
}
Скрипт делает:
* если активно приложение почты - нажимаем Del - удаляем письмо;
* если активен браузер - нажимаем Ctrl+w - закрываем вкладку;
* в остальных случаях - Alt+F4

Проблема в том, что иногда эта комбинация выполняет нужный результат, но потом происходит что-то мне не понятное: больше всего похоже на то, что Alt или Shift остаются нажатыми.
Повторное нажатие этой клавиши мышки - решает проблему.
Остальные комбинации (переключение раскладки и минимизация) всегда успешно работают.
Real 3L0

Re: Не постоянная обработка клавиш

26 Oct 2017, 10:52

Интересно, почему это пометили как ответ?
Real 3L0
Posts: 2
Joined: 26 Oct 2017, 10:55

Re: Не постоянная обработка клавиш

26 Oct 2017, 14:22

Решение подсказали там: http://forum.script-coding.com/viewtopi ... 61#p120461
Не использовать дублирование Alt, Ctrl и Shift

Return to “Помощь”

Who is online

Users browsing this forum: No registered users and 3 guests