मुझे नहीं पता कि विंडो सिस्टम हुक "सिस्टम स्तर" पर कैसे काम करता है। MSDN केवल छू लेती है क्या बहुत संक्षेप में चल रहा है:विंडो हुक - वे कैसे काम करते हैं?
एक हुक प्रणाली संदेश हैंडलिंग तंत्र में एक बिंदु है जहां एक आवेदन एक सबरूटीन स्थापित कर सकते हैं संदेशों के प्रणाली और प्रक्रिया में कुछ विशेष प्रकार में संदेश यातायात की निगरानी के लिए है लक्ष्य विंडो प्रक्रिया तक पहुंचने से पहले। ,
से पहले प्रत्येक संदेश एक खिड़की के लिए संदेश कतार में जोड़ा जाता है, यह पहली वैश्विक/स्थानीय हुक करने के लिए संदेश भेज देंगे:
मेरे श्रेष्ठ अनुमान नीचे की तरह कुछ है जो कुछ हुक प्रक्रियाओं के आधार पर कुछ कर सकता है। सभी वैश्विक हुक और स्थानीय हुक के बाद, संदेश अंततः विंडो संदेश कतार में जोड़ा गया है।
हालांकि, MSDN का कहना है कि हुक के कुछ प्रकार के लिए, यह निगरानी करेंगे events
, notifications
आदि
एक उदाहरण WH_MOUSE_LL
हुक है:
एक हुक प्रक्रिया है कि कम पर नज़र रखता है इंस्टॉल स्तर माउस इनपुट घटनाएं। अधिक जानकारी के लिए, LowLevelMouseProc हुक प्रक्रिया देखें।
जब वे events
कहते हैं, तो क्या हम विंडो संदेशों की बात कर रहे हैं, या क्या उनका मतलब कुछ और है?
क्या मैं सब गलत हूँ?
एक फ्रीहैंड आरेख की छवि के लिए बोनस शैली बिंदु। – rkb
यहां एक छोटा सा स्पष्टीकरण है http://b.1asphost.com/mmbaig/Tutorials/Windows_Hooks.html –
कई हुक संदेश आधारित हैं। लेकिन जिस हुक के बारे में आप बात कर रहे हैं, वह वास्तव में "घटना" से ट्रिगर नहीं होता है। यह सिर्फ * पहले चलता है * विंडोज़ संदेश बनाता है और इसे विंडो के संदेश कतार में रखता है जिसमें फोकस होता है। WH_MOUSE की तुलना करें, एक ग्लोबल हुक जो एक ऐप कॉल/PeekMessage को चलाता है और संदेश कतार से माउस संदेश पुनर्प्राप्त करने वाला है। इस प्रकार वास्तव में एक संदेश द्वारा ट्रिगर किया गया। –