Win32 संदेश कतार कितनी गहरी है?


13

मानक विंडो के लिए कतार कितने संदेश रखती है? क्या होता है जब कतार बहती है?

GetMessage और रिश्तेदारों के लिए दस्तावेज़ इस बारे में कुछ नहीं कहा है, और PeekMessage केवल आप एक हाँ देता है/कोई संदेशों के कुछ वर्गों के लिए है, न कि संदेश गिनती।

This page कहता है कि कतार स्मृति-मैप की गई फ़ाइलों का उपयोग करके लागू की जाती है, और कोई संदेश गणना सीमा नहीं है, लेकिन वह पृष्ठ WinCE के बारे में है। क्या यह डेस्कटॉप Win32 पर भी लागू होता है?

13

डिफ़ॉल्ट रूप से 10000, लेकिन इसे रजिस्ट्री के माध्यम से समायोजित किया जा सकता है।

यदि कतार अतिप्रवाह है, तो पोस्टमेसेज विफल हो जाता है।

यहाँ प्रलेखन:

PostMessage function on MSDN

  0

इसमें 2000/XP शामिल हैं - Vista के बारे में कोई विचार? 23 sep. 082008-09-23 19:52:35

  0

मैंने अभी विस्टा बिजनेस एसपी 1 मशीन पर उस आलेख में सूचीबद्ध रजिस्ट्री कुंजी को देखा है, और यह 10000 पर सेट है। मुझे नहीं पता कि Vista पर कतार लंबाई निर्धारित करने में यह एकमात्र कारक है या नहीं। 23 sep. 082008-09-23 19:55:52

  0

मुझे नहीं पता * लेकिन यह अलग होने की संभावना नहीं होगी। विस्टा क्रांतिकारी नहीं है, मुझे नहीं लगता ... 23 sep. 082008-09-23 19:59:05

+1

हालांकि एक और बात - अगर आप संदेश कतार का उपयोग करने के बारे में सोच रहे हैं, उम, एक कतार जिसे किसी अन्य थ्रेड द्वारा खिलाया जा रहा है, मुझे लगता है कि आप इससे निराश होंगे परिणाम। आप एक उत्तरदायी जीयूआई के साथ खत्म हो जाएगा। हमारी कंपनी के पास वास्तव में इस असफल डिज़ाइन तकनीक के साथ बहुत अनुभव है। 23 sep. 082008-09-23 20:00:44

  0

हैलो कोरी, उत्तर के लिए धन्यवाद। उल्लिखित सीमा और रजिस्ट्री कुंजी (जिसे समायोजित किया जा सकता है) विंडोज 8 के लिए भी काम करता है। 22 aug. 132013-08-22 12:06:15


3

के रूप में MSDN लेख में कहा गया है, यदि आप संदेश कतार के आकार के बारे में चिंता करने की जरूरत है, तो आप अपने आवेदन की पुनः रचना से बेहतर हो सकता है।

  0

इस मामले में, हम कतार के दूसरी तरफ हैं; हमारा डिवाइस ड्राइवर संदेश पोस्ट कर रहा है, और एक खिलौना फ्लैश एप्लिकेशन कुछ मिनटों के बाद नीचे गिर रहा था। 24 sep. 082008-09-24 13:17:11