Tasten sperren



  • Hi,
    ich suche eine Möglichkeit, bestimmte Tasten komplett zu sperren während mein Programm aktiv ist, d.h. Windows soll in diesem Fall, beim drücken der Tasten alt+enter, keinen Wechsel von Voll- zu Normalscreen, bzw. umgekehrt machen.
    Alternativ würde es auch gehen, dass das Programm erkennt, wann immer alt+enter gedrückt wurde... wäre im Grunde sogar noch besser.
    Würd mich freuen, wenn ihr mir helfen könnt. 🙂



  • Das ist etwas komplizierter. Einfach auf bestimmte Tasten die du eingelesen hast nicht zu reagieren wäre da wesentlich einfacher.

    ALT+ENTER ist leider ein Systembefehl der das System dazu veranlasst den Konsolen-Fullscreen-Modus zu switchen. Wenn du das Abfangen willst benötigst du einen Keyboard-Hook. Bevor ich dir jetzt erkläre, was das wieder ist möchte ich deine ungefähren Kenntnisse in C bzw. C++ kennen. Etwas Erfahrung mit Zeigern und WinAPI solltest du schon haben um das Prinzip von Hooks zu verstehen 🙂

    MfG SideWinder



  • Uuh... naja das hatte ich schon befürchtet. Danke erstmal für die Antwort.
    Ich bin leider noch ein richtiger C++ N00b, gerademal dass ich Zeiger und Referenzen im Einfachen verstehe, aber Erfahrung mit ihnen hab ich sogut wie keine.
    Und über MFC hab ich bisher jede Menge negatives gehört, sodass ich eignetlich garnicht vorhabe, es zu lernen.

    Wie sieht es denn aus, mit der reinen Erkennung, dass alt+enter gedrückt wurde? Das hat ja mit dem System nichts zu tun, und so sollte es doch wesentlich einfacher sein, z.B eine Variable zu inkrementieren, wenn alt+enter gedrückt wurde. Das würde mir nämlich schon völlig ausreichen.
    In der Faq steht ja bei Einlesen von Tastenkombinationen dieser Link.
    Bei return+alt steht da aber nur ein "-" 😞

    Abgesehn davon, weiß ich nicht genau, wie man während eines ganz normalen Funktionsablaufs ständig prüfen kann, ob eine bestimmte Taste gedrückt wurde.

    newbige Grüße...



  • Es gibt viele Programme, die MFC sind!
    z.B. Nero (oh, ja! Nero ist MFC!!!)
    Man muss nur wissen wie es geht, dann kann man sogut wie jedes Programm programmieren!



  • 1. Hooks haben aber noch nichts mit MFC zu tun. Hooks sind WinAPI, und die hat nichts mit der MFC zu tun.

    2. Ja auf der Page die du in der FAQ gefunden hast ist deswegen ein '-' bei ALT+ENTER weil du es per getch() nicht einlesen kannst.

    3. Mit kbhit() kannst du prüfen ob eine Taste gedrückt worden ist, mit getch() dann die Taste holen - siehe FAQ.

    MfG SideWinder



  • [OT]

    C++ Core schrieb:

    Es gibt viele Programme, die MFC sind!
    z.B. Nero (oh, ja! Nero ist MFC!!!)

    Und?? Was sagt das über die Qualität aus?
    Es gibt auch viele Programme, die goto verwenden (mal von denen abgesehen, wo es richtig und wissentlich eingesetzt wird).

    Man muss nur wissen wie es geht, dann kann man sogut wie jedes Programm programmieren!

    Das trifft ja wohl auf das Programmieren an sich zu. Allerdings kannst du mit MFC alleine sicherlich nicht sogut wie jedes Programm programmieren.
    [/OT]


Anmelden zum Antworten