BOOL CheckMessageQueue() {
  MSG msg;
  
while(PeekMessage(&msg, NULL, 00, 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),
      
00);
    CheckMessageQueue();
    keybd_event(sz[j], MapVirtualKey(sz[j],
0), 
      KEYEVENTF_KEYUP, 
0);
    CheckMessageQueue();
  }

  
return TRUE;
}


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