2009-11-06 29 views
14

Chính xác là "trình kích hoạt" Windows nào để đánh dấu một quá trình là Không phản hồi trong Trình quản lý tác vụ và Trình theo dõi tài nguyên?Điều gì làm cho quá trình xuất hiện dưới dạng Không phản hồi trong Windows?

+4

nếu (OS == Vista) {DoNotRespond(); } – Inisheer

+1

lol. 1 cho bình luận, trong khi tôi viết nó trên Vista. Tuy nhiên, nó có thể được mã hóa là ** if (OS = VISTA) {DoNotRespond();} ** :) –

Trả lời

12

API phía sau là IsHungAppWindow. Về cơ bản, nếu ứng dụng không bơm một tin nhắn trong vòng 5 giây, nó có thể được đánh dấu là không phản hồi.

7

Nếu một quá trình không thu thập của Windows thông điệp từ hàng đợi của nó bằng cách sử dụng chức năng GetMessage hoặc something related, nó sẽ được đánh dấu là "not responding" - bởi vì nó không đáp ứng với các sự kiện giao diện người dùng.

Điều này không nhất thiết có nghĩa là ứng dụng thực sự bị treo - có thể quá bận để chú ý đến người dùng.

1

Về cơ bản, nó tự động đưa nó vào trạng thái mà chương trình không trở lại điểm mà nó có thể xử lý hàng đợi tin nhắn của nó.

Thông thường, đây là một trong hai một vòng lặp không kết thúc hoặc một hoạt động ngăn chặn, chẳng hạn như đọc từ một ổ cắm vv

+0

Norton Antivirus thường xuyên lấy trình duyệt của tôi hoặc ứng dụng email thunderbird của tôi và khóa nó thành không phản hồi. Nó rất khó chịu. – djangofan

+0

Số lượng vấn đề tôi gặp phải do các sản phẩm Norton gây ra khiến tôi bị sẹo tâm lý –

+0

đó là lý do tại sao bạn sử dụng sản phẩm microsoft mới hoặc eset nod32 thay thế;) – Svish

1

Thực tế là họ không có sản phẩm nào hàng đợi thông điệp của họ, bằng cách bỏ phiếu nó GetMessge API và tương tự.

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