Spis treści

Haki

Zadanie 1

Utwórz program zakładający hak przechwytujący globalnie próbę zamknięcia dowolnego okna za pomocą skrótu klawiszowego Alt+F4.

  1. Utwórz bibliotekę DLL eksportującą funkcje zakładające i zdejmujące hak typy WH_KEYBORD
  2. Zaimplementuj procedurę haka wychwytującą wciśnięcie klawisza F4 (VK_F4) i jednoczesne wciśnięcie lewego klawisza Alt (29 bit argumentu lParam)
  3. Utwórz program, który ładuje bibliotekę DLL i zakłada hak globalny.

Przydatne funkcje:

Zadanie 2

Utwórz program zakładający dwa haki pozwalające rejestrować i odtwarzać wykonane w systemie akcje.

  1. Utwórz bibliotekę DLL eksportującą funkcje zakładające i zdejmujące hak typy WH_JOURNALRECORD. Procedura haka (JournalRecordProc) wraz z akcją HC_ACTION dostarcza strukturę EVENTMSG, którą procedura powinna zachować np. w kolekcji vector z STL.
  2. Wyeksportuj z biblioteki funkcję zakładającą hak typu WH_JOURNALPLAYBACK. Procedura haka (JournalPlaybackProc) odtwarza akcje zapamiętane przez procedurę haka zapisującego. Dla akcji HC_GETNEXT należy podstawić zawartość odtwarzanej akcji do struktury EVENTMSG wskazywanej przez akgumrnt lParam a procedura powinna zwrócić odstęp czasu po jakim akcja ma być odtworzona.
  3. Utwórz program, który ładuje bibliotekę DLL i uruchamia nagrywanie po wciśnięciu klawisza F11 zaś uruchamia odtwarzanie po wciśnięciu klawisza F12.

Przydatne funkcje: