Hàng đợi tin nhắn Win32 sâu bao nhiêu?


13

Bao nhiêu hàng đợi cho một cửa sổ tiêu chuẩn được giữ? Điều gì xảy ra khi hàng đợi tràn?

Tài liệu dành cho GetMessage và người thân không nói gì về điều này và PeekMessage chỉ cung cấp cho bạn một/không cho một số lớp thư nhất định, chứ không phải số lượng thư.

This page nói rằng hàng đợi được triển khai bằng cách sử dụng tệp được ánh xạ bộ nhớ và không có giới hạn số lượng thư, nhưng trang đó là về WinCE. Điều này cũng áp dụng cho máy tính để bàn Win32?

13

10000 theo mặc định, nhưng nó có thể được điều chỉnh thông qua sổ đăng ký.

Nếu hàng đợi tràn, PostMessage không thành công.

Tài liệu ở đây:

PostMessage function on MSDN

  0

Điều đó bao gồm 2000/XP - bất kỳ ý tưởng nào về Vista? 23 sep. 082008-09-23 19:52:35

  0

Tôi chỉ nhìn vào khóa sổ đăng ký được liệt kê trong bài viết đó trên máy Vista Business SP1 và được đặt là 10000. Tôi không biết liệu đó có phải là yếu tố duy nhất trong việc xác định độ dài hàng đợi trên Vista hay không. 23 sep. 082008-09-23 19:55:52

  0

Tôi không * BIẾT * nhưng có thể sẽ không khác. Vista không phải là cách mạng, tôi không nghĩ rằng ... 23 sep. 082008-09-23 19:59:05

+1

Một điều nữa mặc dù - nếu bạn đang nghĩ đến việc sử dụng hàng đợi tin nhắn, um, một hàng đợi đang được cung cấp bởi một chủ đề khác, tôi nghĩ bạn sẽ thất vọng kết quả. Bạn sẽ kết thúc bằng GUI không phản hồi. Công ty chúng tôi có rất nhiều kinh nghiệm với chính xác kỹ thuật thiết kế thất bại này. 23 sep. 082008-09-23 20:00:44

  0

Xin chào Corey, cảm ơn bạn đã trả lời. Giới hạn được đề cập và khoá đăng ký (có thể được điều chỉnh) cũng hoạt động đối với Windows 8. 22 aug. 132013-08-22 12:06:15


3

Như đã trình bày trong bài viết MSDN, nếu bạn cần phải lo lắng về kích thước của hàng đợi tin nhắn, bạn có thể được tốt hơn off thiết kế lại ứng dụng của bạn.

  0

Trong trường hợp này, chúng tôi đang ở phía bên kia của hàng đợi; trình điều khiển thiết bị của chúng tôi đang đăng các tin nhắn và một ứng dụng Flash đồ chơi bị bogging xuống sau vài phút. 24 sep. 082008-09-24 13:17:11