2012-10-12 13 views
5

मैं कीबोर्ड शोरकट्स के लिए बाहरी सेंसर (जैसे एक कीपैड) से आने वाली घटनाओं का मानचित्रण कर रहा हूं और मैं फास्ट स्विच ओवरले विंडो (यानी "Alt-Tab मेनू") का उपयोग करके एप्लिकेशन स्विच करना चाहता हूं, लेकिन जब तक कोई एप्लिकेशन नहीं चुना जाता है तब तक मैं स्विच मेनू दिखाना चाहता हूं।Alt Tab ओवरले Win32 पहचानकर्ता

मूल रूप से, मैं क्या कर रहा हूँ यह है:

if(notInSwitchMenu) 
{ // Alt-Tab keystroke, but Alt remains pressed : the menu is still visible 
    Press(VK_MENU); 
    Press(VK_TAB); 
    Release(VK_TAB); 
} 
else 
{ 

    if(event1) //Tab keystroke : next app 
    { 
     Press(VK_TAB); 
     Release(VK_TAB) ; 
    } 
    else if(event2) //Shift-Tab keystroke : previous app 
    { 
     Press(VK_SHIFT); 
     Press(VK_TAB); 
     Release(VK_TAB); 
     Release(VK_SHIFT) 
    } 
    else if(event3) // we get out of the menu : the selected app has the focus. 
    { 
     Release(VK_MENU); 
    } 
} 

प्रेस और रिलीज बस सही गुणों के साथ SendInput कहता है।

मेरी समस्या यह है कि मैं यह निर्धारित करने के लिए एक मजबूत विधि नहीं जानता कि उपयोगकर्ता वर्तमान में Alt-Tab प्रोग्राम सूची में है या नहीं। क्या किसी को पता है कि Win32 API के साथ Alt-Tab ओवरले मेनू को कैसे अनुकूलित किया जाए?

+1

क्या आप जानते हैं कि एक बार 'Ctrl + Alt + Tab' का उपयोग करके सूची को तब तक खोला जा सकता है जब तक आप कोई एप्लिकेशन नहीं चुनते? –

+1

'EVENT_SYSTEM_SWITCHSTART' /' EVENT_SYSTEM_SWITCHEND' ईवेंट आपको बताता है कि 'Alt' +' टैब' विंडो प्रकट होती है और गायब हो जाती है। –

+0

@ रेमंड चेन उत्तर देते हैं कि एक उत्तर के रूप में। –

उत्तर

6

EVENT_SYSTEM_SWITCHSTART/EVENT_SYSTEM_SWITCHEND घटनाओं आप जब Alt + Tab विंडो प्रकट होता है और गायब हो जाता है बताओ।

+1

विस्तृत करने के लिए, इन घटनाओं को प्राप्त करने के लिए [SetWinEventHook] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd373640.aspx) का उपयोग करें। –

+0

धन्यवाद! यही वही है जो मैं ढूंढ रहा था! – lucasg

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

  • कोई संबंधित समस्या नहीं^_^