И снова я. Здравствуйте, я пытаюсь написать себе систему, отслеживающую ввод с клавиатуры и мыши. Я нашел в интернете множество функций, отличия в которых я почти не вижу, да и до конца понять как с ними работать я не смог. Вроде как нашел некоторые варианты, но потом находил информацию, к примеру "если пользователь быстро печатает, то все символы не будут отслежены". Я видел у себя в голове примерно такую структуру - сначала в массив загоняю информацию о всех нажатых клавишах (0 или 1, в том числе и кнопки мыши), в другой позицию мыши. Затем, если хоть одна ячейка равна 1, начинаю уже обработку действий. Ну а затем, если есть надобность, рисую кадр. Пожалуйста, помогите мне. Я пока продолжаю поиск в интернете, может все же чего-то найду.
Добавлено (08.01.2012, 21:16) --------------------------------------------- Нашел способ, при помощи WM_KEYDOWN и WM_KEYUP. Но вот проблема, они посылаются только если нажата несистемная клавиша. А мне нужно отслеживать все, включая системные...
Как именно она загоняет? Как я понял, из BOOL, она дает только 2 значения. Как она будет работать с капс локом? Будет так же, определять когда нажата, когда отпущена, или же когда включен, когда отключен? И где можно достать список кодов клавиш? И по поводу мышки, еще ищу...
Ты ничего не понял. В данном случае аргумент PBYTE lpKeyState - это указатель на твой буфер, в котором и будут статусы кнопок. Для справки по WinApi заходим на msdn.
Ты ничего не понял. В данном случае аргумент PBYTE lpKeyState - это указатель на твой буфер, в котором и будут статусы кнопок. Для справки по WinApi заходим на msdn.
Я разве что-то против этого сказал? Функция BOOL, что означает, в return она возвращает true или false. Я заметил что обычно, такие функции чаще всего возвращают также 2 значения в переменную. Это зависит исключительно от программиста, который писал код, но чаще всего, так оно и есть.
Quote
Xe[N]o, если нужны отслеживать ВСЕ нажатия и без потери производительности - DLL хук. На клаву хуков в инете полно.
Можно не много по подробней? Я натыкался на такой вариант в интернете, но там это использовалось для отслеживания нажатий именно в фоновом режиме. Apati, сейчас глянем. Rorschach, тоже спасибо за вариант.)
А от куда взять то, эти самые коды? Если там идет даже ASCII код, то где взять код esc к примеру? Меня пока больше всего привлекает пример с сообщениями, вроде как более надежный, хотя хрен его знает.
А от куда взять то, эти самые коды? Если там идет даже ASCII код, то где взять код esc к примеру? Меня пока больше всего привлекает пример с сообщениями, вроде как более надежный, хотя хрен его знает.