using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Runtime.InteropServices;
public class KeyTimer : System.Windows.Forms.Form { private System.ComponentModel.Container components = null; private uint startCount = 0; private uint stopCount = 0; [DllImport("kernel32.dll")] public static extern uint GetTickCount(); public KeyTimer() { } [STAThread] static void Main() { Application.Run(new KeyTimer()); } protected override void OnKeyDown(KeyEventArgs args) { startCount = GetTickCount(); } protected override void OnKeyUp(KeyEventArgs args) { stopCount = GetTickCount(); uint elapsedCount = (stopCount - startCount); MessageBox.Show(Convert.ToString(args.KeyData) + ", time elapsed: " + Convert.ToString(elapsedCount ) + " msecs"); }}