Wenn Sie sich nicht mit der Registrierung herumschlagen möchten, können Sie AutoHotkey zusammen mit #IfWinActive-Anweisungen verwenden, um Aktionen für verschiedene Programme zu definieren (z. B. können Sie mehrere Definitionen für denselben Hotkey haben, sie werden jedoch nur für das angegebene # ausgelöst.) IfWinActive-Programm). Sie würden Ihre ursprüngliche Anweisung beibehalten, aber ein leeres #IfWinActive anwenden, um Tastatureingaben zu erfassen und zu ignorieren, wenn sie in einem undefinierten Programm ausgeführt werden, und dann sekundäre #IfWinActive / Hotkey-Definitionen für zusätzliche Programme / Aktionen hinzufügen, bei denen Sie diese Tastenkombination tatsächlich verwenden möchten .
Ein zweiter Ansatz wäre, Ihre Hotkey-Definition so umzuschreiben, dass sie über SendInput oder einen ähnlichen Sendebefehl eine andere, selten verwendete Hotkey-Kombination sendet, und dann bei Bedarf die neu definierten Tasten auslösen. Dies ist weniger effizient, kann jedoch leichter verständlich sein (oder nicht).
Sie können beispielsweise Strg + Alt + Umschalt + F12 senden, was die meisten Programme wahrscheinlich nicht verwenden. Wenn Sie den Hotkey jedoch für bestimmte Programme erneut erfassen möchten, müssen Sie möglicherweise auch den SendLevel beachten.
Im Allgemeinen würde ich die erste Methode oben empfehlen und einfach die Tastenkombination definieren, um das zu tun, was Sie eigentlich für die gewünschten Programme tun möchten, und den Rest mit einem doppelten / generischen Hotkey wie dem in Ihrem ursprünglichen Beitrag ignorieren, aber mit einer #IfWinActive-Anweisung davor.