Сделайте win + m, а затем win + p и выполните код - PullRequest
0 голосов
/ 24 марта 2020

Что я должен сделать, чтобы выполнить какой-то код (ie: MsgBox "Hello"):

  1. Нажатием win + m

  2. Отжим м без отжима победа

  3. Нажатие p

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Кажется, что уже есть хороший ответ, я просто хотел ввести то, что мог придумать, так что вот версия более раннего ответа, но без Send s.
Я бы сказал, что решение без них всегда желательно, хотя, конечно, в чем-то таком маленьком, как вы, вы будете изо всех сил пытаться найти какое-либо различие на практике. и выключить и просто использовать WinMinimizeAll вместо отправки LWin+m, так как это одно и то же.

1 голос
/ 24 марта 2020

Попробуйте это:

<#m::                  ; "<#" means "LWin"
    LWin_m := true     ; assign the Boolean value "true" or "1" to this variable
    KeyWait, LWin, L   ; wait for LWin to be released
    LWin_m := false
return

<#p::
    If (LWin_m)        ; If this variable has the value "true" 
        msgbox "Hello"
    ; else
        ; do sth else
return

РЕДАКТИРОВАТЬ:

Для не потерять нормально win+m и win+p попробуйте это:

<#m::                      ; "<#" means "LWin"
    LWin_m := true         ; assign the Boolean value "true" or "1" to this variable
    KeyWait, LWin, L       ; wait for LWin to be released
    If (A_PriorKey = "m")
        Send #m     
    LWin_m := false
return

<#p::
    If (LWin_m)  ; If this variable has the value "true" 
        msgbox "Hello"
    else
        Send #p
return
...