2013-07-17 14 views
8

मुझे विंडोज 7 वीएम मिला है जो मेरी अनिवार्य कॉर्पोरेट संचार प्रणाली (Lync और Outlook) चलाता है। मैं जो करना चाहता हूं वह इस विंडोज मशीन पर एक प्रक्रिया चलाता है जो सिस्टम ट्रे पर नज़र रखता है और मेरी मेजबान मशीन (जुबंटू 13.04) को नोटिफिकेशन भेजता है, इसलिए मुझे सूचित किया जाता है कि मुझे ईमेल या आईएम प्राप्त होता है (मैंने पहले से ही निर्बाध कोशिश की है ऐसा करने के लिए आरडीपी लेकिन यह एक अप्रभावी समाधान है)।विंडोज सिस्टम ट्रे में परिवर्तनों का पता कैसे लगाया जाए?

लिनक्स या नेटवर्क उन्मुख कुछ भी मैं सापेक्ष आसानी से संभाल सकता हूं, जो मुझे नहीं पता कि विंडोज सिस्टम ट्रे की स्थिति से पूछताछ कैसे करें (या राज्य परिवर्तनों के लिए एक ईवेंट श्रोता संलग्न करें)। मैं सी ++ और पायथन के साथ सहज हूं लेकिन मैं किसी भी व्यवहार्य समाधान को जाने दूंगा।

विस्तृत राज्य जानकारी बेहतर होगी लेकिन कम से कम मुझे ट्रे में आइकन की संख्या में परिवर्तनों का पता लगाने में सक्षम होना चाहिए।

उत्तर

3

विंडोज़ पर, यदि आप विजुअल स्टूडियो टूल्स के बीच विजुअल स्टूडियो स्थापित करते हैं, तो "स्पाइ ++" नामक एक उपयोगी टूल है, मूल रूप से यह एक ऐसा टूल है जो आपको सभी विंडो दिखाता है और यह देखने की क्षमता देता है कि कौन से संदेश विशेष विंडो प्राप्त करते हैं।

enter image description here

इस उपकरण का उपयोग कर, आप है कि पूरे पैनल, जिसमें "प्रारंभ" बटन, शॉर्टकट, ट्रे, घड़ी, आदि है "Shell_TrayWnd" देख सकते हैं। आप किसी विशेष विंडो को खोजने के लिए "ढूंढें" मेनू का उपयोग कर सकते हैं बस किसी भी विंडो पर "लक्ष्य" खींचें।

ट्रे विंडो स्वयं "SysPager" (संलग्न छवि पर 000100 डी 2) है, तो आप इस विंडो के लिए संदेश लॉग कर सकते हैं और देख सकते हैं कि जब आप Outlook में मेल प्राप्त करते हैं तो इस विंडो को किस प्रकार का संदेश प्राप्त होता है।

उसके बाद आप एक कोड लिख सकते हैं जो इस विंडो को प्राप्त होने वाले सभी संदेशों को सुनता है, और जो आपने देखा है उस पर आधारित "जासूस ++" यह निर्धारित करता है कि क्या हुआ।

यह सिर्फ शुरुआत के लिए है। एक कोड लिखना जो खिड़की के हैंडल प्राप्त करेगा और जो संदेश प्राप्त करता है उसे सुनें एक और हिस्सा है, लेकिन मुझे लगता है कि यह पहले से ही एमएसडीएन या यहां तक ​​कि स्टैक ओवरव्लो में भी शामिल है। किसी विशेष विंडो हैंडल की खोज FindWindowEx फ़ंक्शन द्वारा की जाती है और संदेश सुनने के लिए आपको SetWindowsHookEx फ़ंक्शन द्वारा "हुक" सेट करना होगा। एमएसडीएन पर हुकिंग का वर्णन बहुत अच्छा है।

+3

"और संदेशों को सुनें कि विंडो प्राप्त करने वाला एक और हिस्सा है, लेकिन मुझे लगता है कि यह पहले से ही एमएसडीएन या यहां तक ​​कि स्टैक ओवरव्लो में भी शामिल है" - लेकिन यह * सवाल * पूछा जा रहा है। आपका उत्तर आशा देता है कि यह संभव है, लेकिन आईएमओ सवाल का जवाब नहीं देता है। –

संबंधित मुद्दे