Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

Как глобально перехватить нажатие клавиши или комбинации клавиш?


Вариант #1 - RegisterHotKey:
Для примера, перехватим комбинацию ALT + CONTROL + ENTER.

Сначала регистрируем горячую клавишу:
bool RHKret = RegisterHotKey(Form1->Handle,         // Handle окна, которому отправлять сообщения WM_HOTKEY
 
                              0x00F,                 // УСЛОВНЫЙ идентификатор горячего ключа
 
                              MOD_ALT + MOD_CONTROL, // модификаторы
 
                              VK_RETURN              // код клавиши
 
                              );
 
 if (RHKret) // если всё о'кей
 
         {
 
         ShowMessage("Hot Key Registred");
 
         }
 
 

Затем размещаем на Form1 TApplicationEvents и в OnMessage пишем:
if (Msg.message == WM_HOTKEY) // сообщение наше
 
         {
 
         if (Msg.wParam == 0x00F) // идентификатор наш
 
                 {
 
                 ShowMessage("www.sources.ru"); // громко кричим "уря"
 
                 }
 
         }
 
 

Когда горячая клавиша больше не нужна, отключаем ее:
UnregisterHotKey(Form1->Handle, // Handle окна
 
                  0x00F          // наш идентификатор горячего ключа
 
                  );
 
 
Вариант #2 - хуки:
http://www.xakep.ru/post/13750/default.asp


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS