Feedback

C# - Tastenschläge zählen [Übersetzung]

Veröffentlicht von am 04.05.2008
(1 Bewertungen)
Die in C# übersetzte Version (etwas abgeändert) von diesem Snippet von Nico:
http://dotnet-snippets.de/dns/tastenschlaege-zaehlen-SID823.aspx


Folgender Code muss noch eingefügt werden:
Zu den Using-Anweisungen:
using System.Runtime.InteropServices;
In den Konstruktor:
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Interval = 1;
timer1.Start();
        Timer timer1 = new Timer();

        [DllImport("user32.dll")]
        public static extern short GetAsyncKeyState(int vKey);
        public const int KeyPressed = -32767;
        public int Tastenschläge;
        private void Timer1_Tick(object sender, EventArgs e)
        {
            foreach (Int32 key in Enum.GetValues(System.Windows.Forms.Keys.A.GetType()))    
            {
                if (GetAsyncKeyState(key) == KeyPressed)
                {
                    Tastenschläge++;
                }
            }
        }

1 Kommentare zum Snippet

Timo Boehme schrieb am 26.08.2008:
also .interval = 1 funktioniert nur bei älteren pc's. 30 - 50 funktioniert. und jede shift taste wird hier mit gezählt?
 

Logge dich ein, um hier zu kommentieren!