Qt は仮想キーボードの実装をシミュレートします
各キーには対応する 16 進数があり、これはkeybd_event関数によって実現されます。
たとえば、マルチタスクの Ctrl+Alt+Tab は、このショートカット キーをシミュレートします。
# EN_KEY_CTRL 0x11 //CTRLを定義
# EN_KEY_ALT 0x12 //ALTを定義
# EN_KEY_TAB 0x09 //TABを定義
void マルチタスク()
{
int nVK [ 4 ] = { 0 , };
int nVKNum = 0 ;
nVK [ 0 ] = ( EN_KEY_CTRL );
nVK [ 1 ] = ( EN_KEY_ALT );
nVK [ 2 ] = ( EN_KEY_TAB );
nVKNum = 3 ;
SimulateKeyToSystem ( nVKNum , nVK );
}
void SimulateKeyToSystem ( int nVKNum , int * nVK )
{
INT32 i = 0 ;
char cExtendFlag = 0 ;
//キー押下メッセージをシミュレート
for ( i = 0 ; i < nVKNum ; i ++)
{
keybd_event ( nVK [ i ], MapVirtualKey ( nVK [ i ], 0 ), cExtendFlag , 0 );
}
for ( i = 0 ; i < nVKNum ; i ++)
{
keybd_event ( nVK [ i ], MapVirtualKey ( nVK [ i ], 0 ),
cExtendFlag | KEYEVENTF_KEYUP , 0 );
}
}