Autohotkey, como definir tecla de atalho sensível à versão da janela?

0

Eu tento definir Win + 1 para iniciar algum aplicativo no Windows XP, mas não quero tal comportamento no Win7 +. Como posso fazer isso?

O seguinte trecho fará com que o Windows 7 mostre a caixa "Trigger on Win 5.x" também. O que está errado?

#If, A_OSVersion in WIN_2003, WIN_XP, WIN_2000
#1::
    MsgBox Trigger on Win 5.x
return
#If

Autohotkey versão 1.1.13.01

    
por Jimm Chen 21.01.2015 / 04:19

2 respostas

1

Eu acho que descobri. O #If doc do Autohotkey apresenta exemplos de que a condição pode ser uma função, então o seguinte código funciona:

IsWin5x()
{
    if A_OSVersion in WIN_2003,WIN_XP,WIN_2000
    {
        return 1
    }
    else
    {
        return 0
    }
}

#If IsWin5x()
#1::
    MsgBox Trigger on Win 5.x
return
#If

O Win + 1 funciona no WinXP e o Win + 1 preserva sua funcionalidade original no Win7.

    
por 21.01.2015 / 06:22
1

Atualização: #If [, Expression ] Os operadores "entre", "é", "em" e "contém" não são suportados em expressões.

Eu mudei para

#1::
If A_OSVersion in WIN_2003,WIN_XP,WIN_2000
    MsgBox Trigger on Win 5.x
return

NOTA: sem espaços em WIN_2003,WIN_XP,WIN_2000

Isso não mostra nenhuma caixa de mensagem no Windows 7

    
por 21.01.2015 / 04:42

Tags