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

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем Raschet5, 13 ноя 2009.

Статус темы:
Закрыта.
  1. Raschet5

    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));
    };
    Эта процедура запущенная дважды последовательно при разных координатах курсора мыши срабатывает только на второй раз.
    Я, для срабатывания в обоих случаях - по обоим координатам, запускаю процедуру дважды при первых координатах и единожды при вторых.
    Почему так? Нельзя ли сделать так, чтобы срабатывало с первого раза?
     
  2. Impactor

    Impactor Гость

    А трассировку пробовали?? Проверяли где программа начинает косячить??
     
  3. Raschet5

    Raschet5 Гость

    Да. Конечно. Пробовал. Жму на процедуру. Первый раз проходит по всех операторам без ошибок. Но никакого клацания мыши не происходит. Прохожу про процедуре второй раз тут же и всё нормально. Ошибок программа не выдаёт. Просто не отрабатывает в первый раз. Такое ощущение как будто первое срабатывание обрабатывается ещё где-то или не попадает на обработку. Но моей программе кроме этой процедуры больше нет кода работы с мышкой. (Я про собственный код.)
     
  4. Raschet5

    Raschet5 Гость

    Эта ошибка не связана с языком программирования. Она связана с операционной системой. Когда делаю "cmd" и пытаюсь ввести любую команду, то всегда первый символ у меня съедается. Т.е. первое нажатие всегда пропадает.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей