Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 8 của 8
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đây là Hook cục bộ đó bạn!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    không phải đâu,Mình tin hook có thể trên exe được

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thì mình có bảo là sai đâu, chỉ nói với bạn là: Nếu thủ tục Hook của bạn để trong exe thì bạn chỉ hook được đối với app của bạn thôi (và đây gọi là hook cục bộ), còn nếu hook toàn cục thì bạn phải để thủ tục này trong 1 dll (dĩ nhiên bạn phải thay đổi lại tham số quy định, hook này sẽ có tác dụng cho tất cả các app (khi nhận focus)). Bạn hãy tham khảo các bài viết chi tiết khác về hook.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thật ra thì Hook WH_GETMESSAGE mình chưa làm bao giờ, nhưng về nguyên tắc thì nó cũng giống WH_KEYBOARD thôi!

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    không phải đâu,mình debug thấy setwindowsHook gọi bị lỗi,cái tham số hInstance là hInstance của hàm int WINAPI WinMain(........)

    hMessage = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)GetMsgProc, hInstance, NULL);

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình Hook Message mà muốn chặn sự kiện bấm vào button thì phải hook cái Message nào đây?
    (thông cảm vì có quá nhiều Message mà lại không được tổng hợp cặn kẽ nên rất khó tìm,ai giúp mình với được không )
    Mã nguồn PHP:
    LRESULT CALLBACK GetMesgProc(int nCode, WPARAM wParam, LPARAM lParam) { PMSG pmsg; if (nCode < 0) return CallNextHookEx(hNextHook, nCode, wParam, lParam); pmsg = (PMSG)lParam; switch (pmsg->message) { case BM_CLICK: //Mình thử cái này nhưng không phải MessageBoxA(0,"sdk","kd",0); break; }; return CallNextHookEx(hNextHook, nCode,wParam, lParam);}  

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn Masort thân mến, vấn đề của bạn chỉ là chặn thông điệp click chuột, lưu ý với bạn thông điệp BM_CLICK chỉ là thông điệp Click button gián tiếp (giống như khi User click vào button), nó không phải là thông điệp khi bạn "nháy" chuột (nó chỉ là "mô phỏng" thôi, nôm na như thế cho bạn hiểu), còn thông điệp được gửi đi khi click chuột vào button phải là WM_LBUTTONDOWN nếu chuột trái được "nháy", WM_MBUTTONDOWN nếu là chuột giữa và WM_RBUTTONDOWN nếu là chuột phải, vậy bạn hãy bắt các thông điệp này. Bạn dùng kỹ thuật Subclassing (nó cũng được gọi là "Hook", nhưng Hook sẽ là kỹ thuật cao hơn Subclassing nhiều_Bạn tìm hiểu sẽ thấy). Chúc bạn thành công!

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •