Tastenkombination global auch wenn form nicht sichtbar

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Tastenkombination global auch wenn form nicht sichtbar

    Hallo,

    per Tastenkombination (funktioniert super) sag ich Form2 Hide und Form1 Erscheine.

    Gut das Funktioniert, aber NUR wenn Form2 sichtbar ist, mein Programm läuft im Tray sobald die form2 minimiert wurde und die Kombination der Tasten müsste also Global verfügbar sein, damit die Funktion von den Formaufrufen auch in games etc. funktioniert, damit form1 so wie bei steam ein overlay bilded in game. Nur wie krieg ich das hin, dass die tastenkombinationen Global funktionieren auch wenn das Programm minimiert bzw. im Tray liegt, geht ja schlecht beim gamen auf den tray zu klicken wenn man fullscreen modus nutzt?

    Die Tastenkombination ist CTRL+SHIFT.
    Hi,

    mir gehts eher darum das die Tastenkombination funktioniert wenn die Forms nicht sichtbar sind und das Programm im tray liegt, das verschwinden und aufrufen funktioniert, jedoch nicht wenn die forms weg sind mit hide().

    ale gezeigten beispile helfen mir leider nicht weiter

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „iXclusiv“ ()

    Hi...

    du musst im System einen HotKey registrieren. Da Alt + Shift jedoch keine "komplette" Tastenkombination ist (sondern nur eine aus zwei so genannten Modifier-Keys), kannst du diesen HotKey wahrscheinlich nicht registrieren. Einen Versuch ist es trotzdem wert: Benutze das Windows API zum Registrieren, speziell die Funktion "RegisterHotKey". Die Dokumentation findest du im MSDN unter "RegisterHotyKey() Function". Ein gutes Beispiel gibts hier: pinvoke.net/default.aspx/user32/RegisterHotKey.html

    Eine andere Möglichkeit: Lasse dein Programm in bestimmten Zeitabständen (Stichwort Timer) auf gedrückte Tasten hin überprüfen. Auch dies geht mit dem Windows API (weil systemweit, wie du es wolltest) mit der Funktion GetAsyncLeyState(). Doku: siehe MSDN. Beispiel: pinvoke.net/default.aspx/user32/GetAsyncKeyState.html

    Ich hoffe ich konnte helfen...

    gruß
    hal2000
    Gruß
    hal2000