2008-08-05 20 views
6

Trong môi trường Win32, bạn có thể sử dụng lệnh gọi API GetLastInputInfo see msdn doc. Về cơ bản, phương thức này trả về dấu tick cuối cùng tương ứng với khi người dùng cung cấp đầu vào lần cuối, và bạn phải so sánh nó với dấu tick hiện tại để xác định khoảng thời gian trước đó.Làm cách nào để bạn biết thời điểm người dùng nhấn phím lần cuối (hoặc di chuột)?

Xavi23cr có ví dụ điển hình cho C# tại codeproject.

Bất kỳ đề xuất nào về môi trường khác?

+0

[Bài đăng trên blog này] (http://ryanhomer.com/blog/2007/05/31/detecting-when-your-cocoa-application-is-idle/) có các giải pháp khác nhau cho Cocoa. –

+0

Tôi đã xóa thẻ winapi vì OP đã có câu trả lời winapi và nói rằng họ đang làm bất cứ điều gì khác ngoài winap. – Deanna

Trả lời

3

Đối với Linux, tôi biết rằng Pidgin phải xác định thời gian rảnh để thay đổi trạng thái của bạn thành một khoảng thời gian nhất định. Bạn có thể mở nguồn và xem liệu bạn có thể tìm thấy mã thực hiện những gì bạn cần để làm không.

1

Dường như bạn đã trả lời câu hỏi của riêng mình ở đó Nathan ;-) "GetLastInputInfo" là cách để thực hiện.

Một mẹo là nếu ứng dụng của bạn đang chạy trên máy tính để bàn và người dùng kết nối với máy ảo thì GetLastInputInfo sẽ báo cáo không có hoạt động nào (vì không có hoạt động trên máy chủ).

Điều này có thể khác với hành vi bạn muốn, tùy thuộc vào cách bạn muốn áp dụng đầu vào của người dùng.

+1

Anh ấy đang tìm kiếm các đề xuất trong các môi trường khác với Windows. – mnuzzo

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