Se não quiser mexer com o registro, você pode usar o AutoHotkey junto com as instruções #IfWinActive para definir ações para diferentes programas (por exemplo, você pode ter várias definições para a mesma tecla de atalho, mas elas só serão disparadas para o determinado # Programa IfWinActive). Você manteria sua instrução original, mas aplicaria uma #IfWinActive vazia para capturar / ignorar as teclas digitadas quando for feita a qualquer programa indefinido, e então adicionar definições #IfWinActive / hotkey secundárias para programas / ações adicionais onde você realmente deseja usar essa combinação de teclas para fazer algo .
Uma segunda abordagem seria reescrever sua definição de tecla de atalho para enviar outro combo de teclas de atalho pouco usado via SendInput ou comando de envio similar e, em seguida, disparar as teclas redefinidas se necessário. Isso é menos eficiente, mas pode ser mais fácil de entender (ou não).
Por exemplo, você pode enviar Ctrl + Alt + Shift + F12, o que a maioria dos programas provavelmente não usa. Se você quisesse recapturar a tecla de atalho, no entanto, para certos programas, talvez seja necessário prestar atenção ao SendLevel.
Em geral, eu recomendaria o primeiro método acima e apenas definiria esse combo de teclas para fazer o que você realmente quer que ele fizesse pelos programas que você gosta, e ignorar todo o resto com uma tecla de atalho duplicada / genérica como a do post original , mas com uma declaração #IfWinActive na frente dela.