Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
baduzzzer
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 15
#1

C++;Keyloger - C++

19.01.2011, 17:32. Просмотров 553. Ответов 2
Метки нет (Все метки)

есть функция GetAsyncKeyState(i)
но она всего лишь проверяет была ли последней нажата клавиша с кодом i
есть ли функция перехватывающая нажатие клавиши. т.е. что-то на подобии getch
p.s. с классами не знаком, но слышал про keyhook.h

Добавлено через 7 минут
c mail.ru
проблема getch () в том, что она тормозит выполнение программы до получения любого нажатия. если необходимо проврять, не была ли нажата какая либо клавиша в цикле, то используют связку kbhit() - getch():
(kbhit возращает ноль если в текущий момент времени нажата хоть одна клавиша клавиатуры)

int key = 0;
while (key != 'q') {
if (!kbhit ()) {
key = getch ();
}

//тут любые обработчики клавиш

key = 0;
}
бесконечный цикл жрет много оперативки.

Добавлено через 24 минуты
знаю что есть SetWindowHookEx, но я не нашел достаточно простого примера его использования.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
baduzzzer
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 15
15.05.2011, 08:44  [ТС]     C++;Keyloger #2
Цитата Сообщение от baduzzzer Посмотреть сообщение
бесконечный цикл жрет много оперативки.
сори, нагружает ЦП, а не ОЗу
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
15.05.2011, 08:50     C++;Keyloger #3
знаю что есть SetWindowHookEx
Это вообще не то.
есть ли функция перехватывающая нажатие клавиши. т.е. что-то на подобии getch
Если речь о консоли Win32, то вот посмотри. Там программа ждет нажатия на цифру, можешь адаптировать под свои нужды.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru