pisya

c++ laba 4 WH_CBT

Mar 29th, 2021 (edited)
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3.  
  4. using namespace std;
  5.  
  6. HHOOK hCBTHook;
  7.  
  8. LRESULT CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam) {
  9.     switch (nCode) {
  10.         case HCBT_ACTIVATE: cout << "Система собирается активизировать окно\n"; break;
  11.         case HCBT_CLICKSKIPPED: "Система удаляет сообщение мыши из системной очереди сообщений."; break;
  12.         case HCBT_CREATEWND: cout << "Окно готовится быть созданным."; break;
  13.         case HCBT_DESTROYWND: cout << "Окно собирается быть разрушенным."; break;
  14.         case HCBT_KEYSKIPPED: cout << "Система удалила сообщение клавиатуры из системной очереди сообщений."; break;
  15.         case HCBT_MINMAX: cout << "Окно намеревается быть свернутым или развернутым."; break;
  16.         case HCBT_MOVESIZE: cout << "Окно намеревается быть перемещенным или изменить свои размеры."; break;
  17.         case HCBT_QS: cout << "Система извлекла сообщение WM_QUEUESYNC из системной очереди сообщений."; break;
  18.         case HCBT_SETFOCUS: cout << "Окно собирается принять фокус клавиатуры."; break;
  19.         case HCBT_SYSCOMMAND: cout << "Системная команда собирается быть завершенной."; break;
  20.         default: cout << "ERROR"; break;
  21.     }
  22.     cout << endl;
  23.  
  24.     return CallNextHookEx(NULL, nCode, wParam, lParam);
  25. }
  26.  
  27. int main() {
  28.     hCBTHook = SetWindowsHookEx(WH_CBT, CBTProc, NULL, NULL);
  29.  
  30.     MSG msg;
  31.     while (!GetMessage(&msg, NULL, NULL, NULL)) {
  32.         TranslateMessage(&msg);
  33.         DispatchMessage(&msg);
  34.     }
  35.  
  36.     UnhookWindowsHookEx(hCBTHook);
  37.     return(0);
  38. }
  39.  
Add Comment
Please, Sign In to add comment