RegisterHotKey() nicht systemweit



  • Hallo,

    ich möchte das man in meinem Programm mit Tastenkürzeln arbeiten kann.
    Dazu habe ich mit der API-Funktion RegisterHotKey() die entsprechenden Hotkeys erstellt und verarbeite das ganze dann bei der Nachricht WM_HOTKEY.
    Das funktioniert so weit alles ganz gut.
    Mein Problem ist, daß die Tastenkürzel auch funktionieren wenn meine Anwendung im Hintergrund bzw. minimiert ist. Das möchte ich aber nicht. Sie sollen nur funktionieren wenn die Anwendung im Vordergrund und aktiviert ist.
    Ich habe schon versucht mit GetActiveWindow() zu prüfen ob meine Anwendung aktiv ist. Aber auch wenn ein anderes Programm im Vordergrund ist, reagiert mein Programm auf die Tastenkürzel.
    Desweiteren reagiert das Programm, welches dann im Vordergrund ist, eben auf diese Tasten nicht mehr. Ich könnte mir vorstellen, daß ich die Tasten nach dem verarbeiten mit WM_HOTKEY irgendwie an das System "weitergeben" bzw. "zurückgeben" muss. Ist dem so?

    Danke
    rolsch


  • Mod

    Was Du suchst heißt TranslateAccelerator und wird in die MessageLoop eingebaut.
    Den Accelerator erzeugst Du im Ressource-Editor.





  • Vielen Dank, das ist in der Tat genau das, was ich gesucht habe.
    Es gefällt mir sogar besser als die Variante mit RegisterHotKey().

    mfg
    rolsch


Anmelden zum Antworten