• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

нажата ли клавиша или кнопка мышки

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

Guest

Пожалуйста ответь, как можно из цикла опросить нажата ли клавиша или кнопка мышки?
 
G

Guest

Во первых что значит из цикла? Если код цикла пишешь ты, то почему бы тебе
не спрашивать
была или нет нажата клавиша. Если ты во время обработки глубокого цикла
должен обрабатывать UI, то могу посоветовать использовть поточную модель.
А уж как ты реализуешь прерывание цикла, это уже твое дело.
Всегда можно вызвать

BOOL TerminateThread(
HANDLE hThread, // handle to thread
DWORD dwExitCode // exit code
);
Сработает наверняка, а что бы опеределить нажатие клавиши, то обрабатывай сообщение
WM_KEYDOWN (но только если твое приложение является активным. В противном случае
тебе необходимо писать свою DLL. И устанавливать хук

HHOOK SetWindowsHookEx(
int idHook, // hook type
HOOKPROC lpfn, // hook procedure
HINSTANCE hMod, // handle to application instance
DWORD dwThreadId // thread identifier
);
в коотором указываешь тип хука (WH_KEYBOARD_LL - но это только для NT/2000,
зато ловит все сообщения, или же WH_KEYBOARD - обрабатывает только нажатия
буквено цифровые клавиши)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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