Почему срабатывает только со второго раза?

  • Автор темы Автор темы Raschet5
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
R

Raschet5

C++:
void ClickLeftButtonMouse()
{
INPUT inp[2];
memset(inp, 0, sizeof(inp));
inp[0].type = INPUT_MOUSE;
inp[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
inp[1].type = INPUT_MOUSE;
inp[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(2, inp, sizeof(INPUT));
};

Эта процедура запущенная дважды последовательно при разных координатах курсора мыши срабатывает только на второй раз.
Я, для срабатывания в обоих случаях - по обоим координатам, запускаю процедуру дважды при первых координатах и единожды при вторых.
Почему так? Нельзя ли сделать так, чтобы срабатывало с первого раза?
 
А трассировку пробовали?? Проверяли где программа начинает косячить??
 
Да. Конечно. Пробовал. Жму на процедуру. Первый раз проходит по всех операторам без ошибок. Но никакого клацания мыши не происходит. Прохожу про процедуре второй раз тут же и всё нормально. Ошибок программа не выдаёт. Просто не отрабатывает в первый раз. Такое ощущение как будто первое срабатывание обрабатывается ещё где-то или не попадает на обработку. Но моей программе кроме этой процедуры больше нет кода работы с мышкой. (Я про собственный код.)
 
Эта ошибка не связана с языком программирования. Она связана с операционной системой. Когда делаю "cmd" и пытаюсь ввести любую команду, то всегда первый символ у меня съедается. Т.е. первое нажатие всегда пропадает.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!