public void MouseClick() { const int x = 12; const int y = 456; bool down = false, up = false; Hook.I().AddMouseHook((MouseAction a, int mx, int my) => { if (a == MouseAction.WM_LBUTTONDOWN) { down = mx == x && my == y; } if (a == MouseAction.WM_LBUTTONUP) { up = mx == x && my == y; } Console.WriteLine("{0} at {1}, {2}", a.ToString(), mx, my); }); Thread.Sleep(w * 3); m.DoAction(MouseAction.WM_LBUTTONDOWN, x, y); m.DoAction(MouseAction.WM_LBUTTONUP, x, y); Thread.Sleep(w * 3); Assert.IsTrue(up && down); }