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

Тема в разделе "MS Visual C++", создана пользователем Guest, 8 авг 2003.

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

    Guest Гость

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

    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 - обрабатывает только нажатия
    буквено цифровые клавиши)
     
Загрузка...
Статус темы:
Закрыта.

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