C# – Chặn/vô hiệu hóa thông điệp keyboard bằng Hook

Như trong bài Giới thiệu kĩ thuật Hook và các khái niệm cơ bản đã trình bày, bạn có thể thấy rằng việc gọi CallNextHookEx() là việc cần thiết để tiếp tục gọi các hook procedure khác trong hook chain. Trường hợp bạn muốn chặn một thông điệp hay sự kiện nào đó, chỉ đơn giản là không gọi hàm CallNextHookEx() và trả về giá trị 1 trong hook procedure.

Tiếp tục đọc

C# – Hướng dẫn cài đặt Low-Level Keyboard Hook

Để sử dụng hook trong .NET, bạn cần phải làm việc với unmanaged-code hay cụ thể là các Windows API  (Win32 API) gồm: SetWindowsHookEx, CallNextHookEx và UnhookWindowsEx (Xem bài Giới thiệu kĩ thuật Hook và các khái niệm cơ bản). Trong bài viết này, tôi sẽ hướng dẫn cách tạo một ứng dụng hook bàn phím toàn hệ thống.

Tiếp tục đọc

Win32 – Giới thiệu kĩ thuật Hook và các khái niệm cơ bản

(Viết theo yêu cầu bạn đọc)

Hook là một cơ chế mà một ứng dụng có thể chặn các sự kiện, như các thông điệp, thao tác chuột, bàn phím. Hàm dùng để chặn một loại sự kiện riêng biệt được gọi là hook procedure/ Hook function. Mỗi khi nhận được sự kiện, hook procedure có thể thay đổi và thậm chí hủy bỏ các sự kiện đó.

Tiếp tục đọc