2011-08-10 2 views
11

में पूर्ण स्क्रीन मोड का पता लगाने के लिए मुझे पता लगाना चाहिए कि वर्तमान में पूर्ण स्क्रीन मोड में कुछ एप्लिकेशन चल रहा है या नहीं। यदि हां तो मुझे अपना आवेदन बंद करना होगा। तो मैं इसका पता कैसे लगा सकता हूं? पी। Win32 सी ++विंडोज

उत्तर

8
hWnd = GetForegroundWindow(); 
RECT appBounds; 
RECT rc; 
GetWindowRect(GetDesktopWindow(), &rc); 

फिर जांचें कि क्या डेस्कटॉप डेस्कटॉप या खोल नहीं है। निर्देश अगर सरल है।

if(hWnd =! GetDesktopWindow() && hWnd != GetShellWindow()) 
{ 
    GetWindowRect(hWnd, &appBounds); 
    // Now you just have to compare rc to appBounds 
} 

यह परीक्षण के बिना लिखा गया है।

+0

धन्यवाद एक बहुत, यह बहुत मदद! – lebron2323

1

हूच के जवाब का एक पूरा कार्यान्वयन:

bool isFullscreen(HWND window) 
{ 
    RECT a, b; 
    GetWindowRect(window, &a); 
    GetWindowRect(GetDesktopWindow(), &b); 
    return (a.left == b.left && 
      a.top == b.top && 
      a.right == b.right && 
      a.bottom == b.bottom); 
}