hook.cpp 905 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include "pch.h"
  2. #include <windows.h>
  3. #include <string>
  4. #include "goRun.h"
  5. #include "skill.h"
  6. #include "npc.h"
  7. #include "sys.h"
  8. extern "C" __declspec(dllexport) LRESULT HookProc(int nCode, WPARAM wParam, LPARAM lParam);
  9. LRESULT HookProc(int nCode, WPARAM wParam, LPARAM lParam) {
  10. if (nCode == HC_ACTION)
  11. {
  12. PCWPSTRUCT pMsg = (PCWPSTRUCT)lParam;
  13. if (pMsg->message == WM_COPYDATA && pMsg->wParam == 20250129)
  14. {
  15. PCOPYDATASTRUCT pCDS = (PCOPYDATASTRUCT)pMsg->lParam;
  16. int code = pCDS->dwData;
  17. int length = pCDS->cbData;
  18. int* data = (int*)pCDS->lpData;
  19. if (code >= 9000) {
  20. Sys::process(code, data);
  21. }
  22. else if (code >= 3000) {//npc
  23. Npc::process(code, data);
  24. }
  25. else if (code >= 2000) {//¼¼ÄÜ
  26. Skill::process(code, data);
  27. }
  28. else if (code >= 1000) {//×ß·ÅÜ·Ѱ·
  29. GoRun::process(code, data);
  30. }
  31. }
  32. }
  33. return CallNextHookEx(0, nCode, wParam, lParam);
  34. }