É bem difícil explicar sem mostrar o código primeiro, então aqui vai:
Este é o código:
#l::
{
SoundGet, mutestate, , MUTE
if mutestate = Off
Send {Volume_Mute}
Sleep 200
DllCall("LockWorkStation")
Sleep 200
SendMessage,0x112,0xF170,2,,Program Manager
Return
}
E esta é a saída do log:
002: {
003: SoundGet,mutestate,,MUTE
004: if mutestate = Off
005: Sleep,200 (0.20)
006: DllCall("LockWorkStation")
007: Sleep,200 (0.20)
008: SendMessage,0x112,0xF170,2,,Program Manager
009: Return (16.63)
Agora para o "problema" real.
Existe uma parte do código real que não aparece no log (mas ainda é executado), que é o Send {Volume_Mute}
. Eu testei que ainda é executado, definindo o volume para o máximo e, em seguida, acionando a tecla de atalho. Ele bloqueia o computador e depois o silencia, exatamente o que deve fazer.
Só estou me perguntando por que não aparece no log. Meu único palpite é que as chaves provavelmente estão causando o "problema".
#l::
{ << This brace
SoundGet, mutestate, , MUTE
if mutestate = Off
Send {Volume_Mute} << The 2 braces here
Sleep 200
DllCall("LockWorkStation")
Sleep 200
SendMessage,0x112,0xF170,2,,Program Manager
Return
} << And this brace
Não tenho certeza se isso é o que está causando o problema, mas gostaria de saber exatamente qual é a causa.