मैं कुछ ऐसे काम पर काम कर रहा हूं जिसके लिए कई रूपों की निगरानी की आवश्यकता होगी। फॉर्म के बाहर से, और फ़ॉर्म के अंदर कोई कोड डाले बिना, मुझे किसी भी तरह से इन रूपों से ईवेंट कैप्चर करने की ज़रूरत है, जो कि विंडोज संदेशों के रूप में सबसे अधिक संभावना है। लेकिन आप उस वर्ग के बाहर से विंडोज संदेशों को कैसे कैप्चर करेंगे, इससे संबंधित है?मैं फ़ॉर्म के बाहर से किसी फॉर्म की कुछ घटनाओं को कैसे पकड़ूं?
मेरी प्रोजेक्ट में एक ऑब्जेक्ट है जो प्रत्येक रूप को निगरानी रखता है, और मुझे लगता है कि यह हैंडलिंग इस ऑब्जेक्ट में जाएगी। अनिवार्य रूप से, जब मैं एक फॉर्म बनाता हूं जिसे मैं मॉनिटर करना चाहता हूं, तो मैं एक संबंधित वस्तु बना देता हूं जो बदले में सभी बनाए गए रूपों की सूची में जोड़ा जाता है। सबसे महत्वपूर्ण बात यह है कि जब वह फॉर्म बंद हो जाता है, तो मुझे पता होना चाहिए कि मैं सूची से इस फॉर्म की रैपर ऑब्जेक्ट को हटा सकता हूं।
इन घटनाओं में शामिल हैं:
:- कम से कम
- अधिकतम
- पुनर्स्थापित
- बंद
- फोकस/बाहर
क्या मैं नहीं चाहता हूँ में
- किसी भी रूपों या इस से निपटने
- जैसे
OnClose
किसी भी कस्टम धातु रूप - से रूपों विरासत प्रपत्र की घटनाओं का उपयोग के लिए प्रपत्र इकाइयों के अंदर किसी भी कोड है क्योंकि वे अन्य प्रयोजनों के
लिए उपयोग किया जाएगा क्या मैं चाहते हैं:
- इन घटनाओं के लिए खिड़कियों संदेशों के हैंडलिंग
- पर कोई युक्तियाँ कैसे जीई के लिए कक्षा के बाहर से टी खिड़कियों संदेशों
- कौन सा विंडोज़ संदेशों मैं के लिए
प्रश्न सुनने की जरूरत है एक ही जानकारी है, लेकिन अलग दृष्टिकोण
Hookin बिना आप जो भी करना चाहते हैं FindControl समारोह और Msg.hWnd का उपयोग लेकिन मुझे लगता है के रूप में यह था तुम भी कोड इंजेक्शन विचार कर सकते हैं कुछ एओपी ढांचे द्वारा किया गया। – menjaraz
आप जानते हैं कि आप अपने खुद के हैंडलर के साथ प्रपत्र की घटनाओं की जगह लेकिन पुराने मूल्य के आसपास रख सकते हैं, और उसके बाद वर्ष हैंडलर, सही आह्वान, आपका प्लेसमेंट हैंडलर से कर रहे हैं? यह सच "कोड इंजेक्शन" या सच "हुकिंग" से भी आसान है। यह बहुत अधिक ऑपरेटिंग सिस्टम में "हस्तक्षेप हैंडलर" कैसे काम करता है। हम इसे "वेक्टर प्रतिस्थापन" कहते हैं। –
@WarrenP मुझे यह पता है, और शायद यह होगा अगर डेविड ने क्लीनर विधि का उल्लेख नहीं किया था। लेकिन यह रणनीति (कम से कम मेरी राय में) शायद 90-95% प्रभावी है (मैं कुछ मुद्दों को देख सकता हूं जो इस स्थिति को गड़बड़ कर देंगे)। डेविड का समाधान 100% प्रभावी है। –