Feedback

C# - Global Hook

Veröffentlicht von am 27.08.2012
(3 Bewertungen)
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;
        }

    }
}
Abgelegt unter hook, global hook, tastendruck, keyboard.

7 Kommentare zum Snippet

dariusarnold schrieb am 02.01.2013:
Die Bewertung kann nicht rechnen!!
LOL:
2 Votes. Einmal 9; einmal 10; Durchschnitt: 9, 44.

Logik-Modus: Aus??
Jan Welker schrieb am 02.01.2013:
Hallo dariusarnold,

bitte sieh dir hier an, wie die Bewertungspunkte berechnert werden. Vielen Dank!

http://dotnet-snippets.de/dns/topten.aspx
(unten)

Jan
dariusarnold schrieb am 03.01.2013:
Okey.
Die Bewertung kann rechen aber die Logik dahinter ist merkwürdig. ;)
Danke für den Hinweis.

PS: Einfach Darius, bitte. ;)
dariusarnold schrieb am 03.01.2013:
Noch eine Frage: Kann man auch den Tastendruck durchgehen lassen, aber "manipulieren"?? Bspl: Nutzer drückt 'a' bei PC kommt 'f' an??

LG Darius.
Jakob Lis schrieb am 23.01.2013:
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
dariusarnold schrieb am 23.01.2013:
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
Jakob Lis schrieb am 06.02.2013:
schau dir das mal an:
http://msdn.microsoft.com/de-de/library/system.windows.forms.sendkeys.send.aspx
 

Logge dich ein, um hier zu kommentieren!