2012-10-12 10 views
5

外部センサ(キーパッドなど)からのイベントをキーボードショートカットにマッピングしていますが、高速スイッチオーバレイウィンドウ(Alt-Tabメニュー)を使用してアプリケーションを切り替えたいのですが私は、アプリケーションが選択されるまでスイッチメニューを表示し続けたいと思います。Alt Tab overlay 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プログラムリストに入っているかどうかを判断する堅牢な方法がわからないことです。 誰かがAlt-TabオーバーレイメニューをWin32 APIで特定する方法を知っていますか? Alt + Tabウィンドウが表示され、消えたときに

+1

「Ctrl + Alt + Tab」を使用すると、アプリケーションを選択するまでリストが開かれたままになりますか? –

+1

'EVENT_SYSTEM_SWITCHSTART' /' EVENT_SYSTEM_SWITCHEND'イベントは、 'Alt' +' Tab'ウィンドウがいつ現れて消えるかを示します。 –

+0

@レイモンド・チェンはそれを答えとして答えます。 –

答えて

6

EVENT_SYSTEM_SWITCHSTART/EVENT_SYSTEM_SWITCHENDイベントはあなたを伝えます。

+1

これらのイベントを受け取るには、[SetWinEventHook](http://msdn.microsoft.com/en-us/library/windows/desktop/dd373640.aspx)を使用してください。 –

+0

ありがとうございました!それはまさに私が探していたものです! – lucasg

関連する問題