Играл в одну игру, которая очень хотела протестировать мою скорость кликов мышью. Вручную тестироваться оказалось очеь утомительно, а SendMessage работать отказался.

Выяснилось, что начиная с Висты, правильно ввод отправлять через UIPI-интерфейс.

Напишу-ка тут, чтобы потом не выдумывать:

INPUT input[2] = {};

input[0].type = INPUT_MOUSE;
input[0].mi.mouseData = 0;
input[0].mi.dwFlags = (MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN);
input[0].mi.time = 0;

input[1].type = INPUT_MOUSE;
input[1].mi.mouseData = 0;
input[1].mi.dwFlags = (MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP);
input[1].mi.time = 0;
SendInput(2, &input[0], sizeof(input[0]));

Sleep(...);