
BOOL CheckMessageQueue()
{
MSG msg;

while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if(msg.message==WM_QUIT)
return FALSE;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return TRUE;
}


BOOL SentSz(char* sz)
{

for ( DWORD j = 0; sz[j]; j++)
{
keybd_event(sz[j], MapVirtualKey(sz[j],0),
0, 0);
CheckMessageQueue();
keybd_event(sz[j], MapVirtualKey(sz[j],0),
KEYEVENTF_KEYUP, 0);
CheckMessageQueue();
}
return TRUE;
}


void Proc()
{
SentSz("test");
}