Thursday, February 24, 2011

send out keyboard message win32

I found this article which is very useful.
http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx
You can download a code as well.


This was also useful.

void GenerateKey ( int vk , BOOL bExtended)
{
KEYBDINPUT  kb={0};
INPUT    Input={0};
// generate down
if ( bExtended )
kb.dwFlags  = KEYEVENTF_EXTENDEDKEY;
kb.wVk  = vk;
Input.type  = INPUT_KEYBOARD;

Input.ki  = kb;
::SendInput(1,&Input,sizeof(Input));

// generate up
::ZeroMemory(&kb,sizeof(KEYBDINPUT));
::ZeroMemory(&Input,sizeof(INPUT));
kb.dwFlags  =  KEYEVENTF_KEYUP;
if ( bExtended )
kb.dwFlags  |= KEYEVENTF_EXTENDEDKEY;

kb.wVk    =  vk;
Input.type  =  INPUT_KEYBOARD;
Input.ki  =  kb;
::SendInput(1,&Input,sizeof(Input));
}

No comments:

Post a Comment