измерение интервалов щелчков мыши в режиме реального времени - PullRequest
1 голос
/ 18 ноября 2010

Я пишу приложение [net / wpf / c #], которое должно измерять, насколько быстро пользователь нажимает (отвечает) после прослушивания слова. Его называют тестом скорости обработки звука (PST), и средняя скорость человека составляет около 70-140 мс. Чтобы получить представление о точности генерируемых событий, я написал следующее.

public partial class MainWindow : Window
{
    System.Diagnostics.Stopwatch w = new System.Diagnostics.Stopwatch();

    public MainWindow () { InitializeComponent(); }

    private void textBlock1_PreviewMouseDown (object sender, MouseButtonEventArgs e)
    {
        e.Handled = true;
        w.Stop();
        System.Diagnostics.Debug.WriteLine(w.ElapsedMilliseconds);
        w.Reset(); w.Start();
    }

    private void Grid_KeyDown (object sender, KeyEventArgs e)
    {
        e.Handled = true;
        w.Stop();
        System.Diagnostics.Debug.WriteLine(w.ElapsedMilliseconds);
        w.Reset(); w.Start();
    }
}

private void Application_Startup (object sender, StartupEventArgs e)
{
    Process thisProc = Process.GetCurrentProcess();
    thisProc.PriorityClass = ProcessPriorityClass.RealTime;
    ProcessThreadCollection myThreads = thisProc.Threads;

    foreach (ProcessThread pt in myThreads) {
        pt.PriorityLevel = ThreadPriorityLevel.TimeCritical;
    }
}

Самое быстрое, что я могу щелкнуть, составляет около 100 мс, и если удерживать нажатой клавишу клавиатуры, то время отклика снижается до 30 мс. Есть ли способ сделать это быстрее? ТИА

1 Ответ

1 голос
/ 22 ноября 2010

Рассматривали ли вы опрос мыши через DirectInput.

...