2012-04-30 40 views
10

Trước hết, tôi cần phải làm rõ rằng tôi không quan tâm đến keylog.Theo dõi hoạt động của bàn phím trong C# trong khi ứng dụng của tôi ở chế độ nền

Tôi cần một cách để theo dõi hoạt động của bàn phím ở cấp cơ bản nhất trong khi ứng dụng của tôi ở chế độ nền. Tôi không cần biết khóa nào, tôi không cần lưu bất kỳ dữ liệu nào, tôi không cần hoặc dự định ẩn ứng dụng của mình, tất cả những gì tôi cần là biết khi nào các phím được nhấn và gọi phương thức.

Tôi đang tìm cách đơn giản nhất để thực hiện điều này, tôi biết số lượng C# hợp lý nhưng không có gì phức tạp vì phần lớn kiến ​​thức của tôi là tự học.

Tôi đã xem xét một số cách thích hợp để thực hiện việc này và tôi thấy không có gì hữu ích. Tất cả những gì tôi thấy là một nhóm người nói "Không, đó là bất hợp pháp" trên các diễn đàn và mã nguồn cho các keyloggers chuyên sâu.

Nếu có ai trong số các bạn có thể tư vấn cho tôi về cách để đạt được điều này thì tôi sẽ đánh giá cao nhất.

Trả lời

9

Có một bài viết mà đã mẫu cho những gì bạn cần làm việc (Nó cũng giám sát bàn phím và các sự kiện chuột ở chế độ nền) tại địa chỉ:

Processing Global Mouse and Keyboard Hooks in C#

+0

Điều này đã cung cấp những gì tôi cần, cảm ơn bạn rất nhiều. –

+0

không phải lo lắng, chào mừng bạn – Zaki

2

Microsoft thông báo cho bạn How to: Handle Keyboard Input at the Form Level. Miễn là bạn xử lý (các) sự kiện tương tự, thao tác này sẽ hoạt động đối với mọi ứng dụng không phải trên web.

Bạn cũng nên xem xét những câu hỏi khác ở đây trên SO, chẳng hạn như Handling Input from a Keyboard Wedge

+0

Đó là khi ứng dụng ở tiền cảnh mặc dù phải không? –

+1

Có, tôi cần theo dõi nó ở chế độ nền. –

+0

+1 để liên kết đến câu trả lời Wedge –

5

Bạn sẽ cần phải sử dụng Window Hooks:

Low-Level Keyboard Hook in C#

Nhưng hãy cẩn thận, bảo mật Windows, có thể bảo vệ chúng ta khỏi làm những gì bạn muốn!

Các vấn đề liên quan