सी

2012-05-24 1 views
5

में वर्तमान सक्रिय विंडो शीर्षक प्राप्त करें मैं एक एक्स-चैट प्लगइन लिखना चाहता हूं जहां उपयोगकर्ता मेरे क्लाइंट को सीटीसीपी अनुरोध करने में सक्षम होंगे, जिससे प्लगइन/एक्स-चैट मेरे वर्तमान सक्रिय विंडो शीर्षक के साथ प्रतिक्रिया देगा।सी

साथी आईआरसी उपयोगकर्ताओं के लिए यह वास्तव में अच्छा होगा कि मैं यह देखने के लिए कि मैं क्या कर रहा हूं, यह निर्धारित करने के लिए कि मैं क्या कर रहा हूं, अगर मैं पूर्ण स्क्रीन (गेम खेलना, वीडियो देखना आदि) कर रहा हूं।

एक्स-चैट के लिए प्लगइन्स सी में लिखे गए हैं, इसलिए मुझे सी से विंडोज एपीआई कॉल का उपयोग कर वर्तमान सक्रिय विंडो शीर्षक निर्धारित करने का एक तरीका चाहिए। क्या कोई सलाह दे सकता है कि यह कैसे किया जा सकता है?

धन्यवाद।

+0

नहीं, आप की जरूरत नहीं है। आप पाइथन या पर्ल का भी उपयोग कर सकते हैं। – Gandaro

उत्तर

12

मुझे लगता है कि आप GetForegroundWindow() का उपयोग खिड़की करने के लिए एक संभाल उपयोगकर्ता उपयोग कर रहा है पाने के लिए कर सकते हैं और फिर GetWindowText() का उपयोग शीर्षक प्राप्त करने के लिए:

:

HWND foreground = GetForegroundWindow(); 
if (foreground) 
{ 
    char window_title[256]; 
    GetWindowText(foreground, window_title, 256); 
} 
+3

यदि आप * सभी * प्रक्रियाओं के बीच वर्तमान सक्रिय विंडो की तलाश में हैं, तो 'GetForegroundWindow' का उपयोग करें, या' GetActiveWindow' का उपयोग करें यदि आप केवल * अपनी * प्रक्रिया में सक्रिय विंडो की तलाश में हैं। देखें [आखिरकार, कुछ खास नहीं है] (http://blogs.msdn.com/b/oldnewthing/archive/2008/10/06/8969399.aspx)। –

+0

@AdamRosenfield, उस लिंक के लिए धन्यवाद। – hmjd