Hotkey wenn kein Fokus



  • Hallöchen,

    ich bastle grade an einem Programm, dass eine Zeitansage macht. Jetzt möchte ich, dass dieses Programm im Systray läuft.

    Während man bsp. ein Spiel spielt, soll man die Möglichkeit haben, die aktuelle Uhrzeit abzurufen, eben durch eine akustische Ansage. Das wollte ich per Keystroke (z.B. F8) machen. aber wie bekomme ich das hin, dass das Programm auch merkt, wenn F8 gedrückt wurde, auser mit einem Hook.?

    Danke.



  • Hallo,

    mit RegisterHotKey :

    http://msdn.microsoft.com/en-us/library/ms646309.aspx

    MfG,

    Probe-Nutzer



  • der hotkey kann allerdings von dem programm überschrieben werden oder?

    ansonsten ginge auch
    if ( GetAsyncKeyState( VK_F8 ) & 0x0001)

    😛



  • Hallo,

    pixartist schrieb:

    der hotkey kann allerdings von dem programm überschrieben werden oder?

    Von welchem Programm? Von einem anderen nicht, denn

    MSDN-Doku schrieb:

    RegisterHotKey fails if the keystrokes specified for the hot key have already been registered by another hot key.

    Es kann allerdings sein, dass ein anderes Programm den Hotkey bereits für sich registriert hat, weswegen es gut ist, nichts hart zu kodieren, sondern einen Einstellungsdialog im Programm bereit zu stellen, so dass der Hotkey immer selbst vom Anwender definiert werden muss (er muss dann eben so lang Tastenkombinationen angeben, bis RegisterHotKey nicht mehr mit einem anderen Programm "kollidiert")

    MfG,

    Probe-Nutzer


Anmelden zum Antworten