2011-01-25 2 views
1


私はウィンドウキーを押すことをシミュレートするこのコードを持っています。しかし、どのように私はウィンドウ+ dキーを押して、本質的にデスクトップを表示するようにします。どのようにWin32のAPIでキーストロークの組み合わせを生成するには?

void ShowDesktop(void) 
{ 


    // Simulate a key press 
    keybd_event(VK_LWIN, 
        0x5B, 
        KEYEVENTF_EXTENDEDKEY | 0, 
        0); 

    // Simulate a key release 
    keybd_event(VK_LWIN, 
        0x5B, 
        KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 
        0); 

} 

答えて

7

あなたはkeybd_event仮想キー値を持つ関数で、あなたはMapVirtualKey機能を使用することができ、この値を取得するDキーのハードウェアスキャンコードを呼び出す必要があります。

このサンプルを試してみてください。

//simulate the Win key press 
    keybd_event(VK_LWIN, 0x5B, 0, 0); 
//simulate the 'D' key press,the 0x44 is the Virtual key value for the 'D' key, the 0x20 vaue is the hardware scan code for the 'D' key 
    keybd_event(0x44, 0x20, 0, 0); 
//simulate the 'D' key release 
    keybd_event(0x44, 0x20, KEYEVENTF_KEYUP, 0); 
//simulate the Win key release 
    keybd_event(VK_LWIN, 0x5B, KEYEVENTF_KEYUP, 0); 
関連する問題