ओह, चलो बस बंद करो और यहाँ लगता है ...
सबसे पहले, विंडोज ही WM_USER+n
रेंज में संदेश भेजता है, यही कारण है कि WM_APP
आविष्कार किया गया था (मैं इस कठिन रास्ता मिल गया) है। लेकिन यह बदतर हो जाता है ... बुरी तरह से व्यवहार किए गए अनुप्रयोगों को रोकने के लिए कुछ भी नहीं है प्रसारणWM_USER+n
या WM_APP+n
संदेश, और क्योंकि मनुष्यों ने देवताओं से अनंत मूर्खता के क्रिस्टल चुरा लिया, यह वास्तव में असली दुनिया में होता है।
तो, मेरे बाद दोहराएं, केवल एकमात्र सुरक्षित संदेश है जिसे मैं स्वयं परिभाषित करता हूं और केवल खुद को देख सकता हूं। RegisterWindowMessage का उपयोग करें। और फिर भी, अविश्वसनीय रहो। जब मुझे RegisterWindowMessage को परिभाषित करने के लिए स्ट्रिंग की आवश्यकता होती है, तो मैं स्ट्रिंग बनाने के लिए GUIDGEN का उपयोग करता हूं और परिणामस्वरूप gobbledygook पर मानव-पठनीय ऐप-विशिष्ट उपसर्ग डालता हूं ताकि कोड में एकाधिक संदेशों को अलग करने में मेरी सहायता हो सके।
अपने साथी इंसानों की मूर्खता पर शर्त - यह हमेशा जीतने वाली शर्त है।
यदि आप इस पूरे विषय पर आधिकारिक पृष्ठभूमि चाहते हैं, तो here देखें। नहीं, यह मेरी वेबसाइट नहीं है, यह जो न्यूकॉमर्स है।
स्रोत
2009-11-29 21:58:11
धन्यवाद के साथ अपना स्वयं का वैश्विक संदेश पंजीकृत करें! क्या रजिस्टर WindowMessage() को जरूरी है यदि संदेश भेजा जा रहा है और केवल एक आवेदन के भीतर कब्जा कर लिया गया है? – BeeBand
यदि #define का उपयोग कर रहे हैं, तो (WM_USER + 0x0001) के आसपास कोष्ठक का उपयोग करना सुनिश्चित करें, इसलिए अंकगणित आपके नए संदेश संख्या (बिटवाई ऑपरेशंस, उच्च-आदेश शब्द में पैकिंग आदि) पर सही ढंग से कार्य करता है। – Travis
और नहीं, यदि आपको केवल एक ही एप्लिकेशन शामिल है तो आपको RegisterWindowMessage की आवश्यकता नहीं है; केवल अगर आपको एक ही संदेश संख्या पर सहमत होने के लिए दो ऐप्स की आवश्यकता है। – Travis