Feedback

Global Hook

Sprache: C#

Hier ist ein Beispielcode womit ihr Tastendruck auf dem Keyboard abfangen könnt. In diesem Beispiel wird der Tastendruck der 'ALT'-Taste abgefangen. Ihr benötigt dazu die Klasse 'Utilities': http://dotnet-snippets.de/dns/globalhook-klasse-SID1628.aspx
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Utilities;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        globalKeyboardHook hook = new globalKeyboardHook();

        public Form1()
        {
            InitializeComponent();
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            hook.HookedKeys.Add(Keys.Alt);
        }

        private void timerhook_Tick(object sender, EventArgs e)
        {
            hook.KeyDown += new KeyEventHandler(hook_KeyDown); //Taste wird gedrückt
            hook.KeyUp += new KeyEventHandler(hook_KeyUp); //Taste wird losgelassen
        }

        void hook_KeyDown(object sender, KeyEventArgs e)
        {
            //Dein Code
            e.Handled = true;
        }

        void hook_KeyUp(object sender, KeyEventArgs e)
        {
            //Dein Code
            e.Handled = true;
        }

    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Utilities;

namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        globalKeyboardHook hook = new globalKeyboardHook();

        public Form1()
        {
            InitializeComponent();
            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            hook.HookedKeys.Add(Keys.Alt);
        }

        private void timerhook_Tick(object sender, EventArgs e)
        {
            hook.KeyDown += new KeyEventHandler(hook_KeyDown); //Taste wird gedrückt
            hook.KeyUp += new KeyEventHandler(hook_KeyUp); //Taste wird losgelassen
        }

        void hook_KeyDown(object sender, KeyEventArgs e)
        {
            //Dein Code
            e.Handled = true;
        }

        void hook_KeyUp(object sender, KeyEventArgs e)
        {
            //Dein Code
            e.Handled = true;
        }

    }
}

7 Kommentare

  1. Die Bewertung kann nicht rechnen!!
    LOL:
    2 Votes. Einmal 9; einmal 10; Durchschnitt: 9, 44.

    Logik-Modus: Aus??

  2. Okey.
    Die Bewertung kann rechen aber die Logik dahinter ist merkwürdig. 😉
    Danke für den Hinweis.

    PS: Einfach Darius, bitte. 😉

  3. Noch eine Frage: Kann man auch den Tastendruck durchgehen lassen, aber „manipulieren“?? Bspl: Nutzer drückt ‚a‘ bei PC kommt ‚f‘ an??

    LG Darius.

  4. Hallo Darius,

    was meinst du damit genau? „manipulieren“

    meinst du das der User z.B. ‚a‘ drückt aber in dem Textfeld wo er schreibt ein ‚f‘ ausgegeben wird? oder lieg ich da falsch

    Jakob

  5. Haargenau erfasst 🙂
    So etwas meinte ich. Oder das man zum Beispiel in einem Spiel, wo man die Steuerung nicht ändern kann, durch reinhängen so eines Programms die Steuerung ‚Ändern‘ könnte