关闭

向系统发送英文汉字混合消息的函数void SendKeys(char * str)

标签: inputkeyboardthread
969人阅读 评论(0) 收藏 举报
分类:
#define KEYEVENTF_UNICODE 0x4
void SendKeys(char *str)
{
 INPUT Input;
 WCHAR unicodeWord[512];
 memset(unicodeWord,0,sizeof(unicodeWord));
 MultiByteToWideChar(CP_THREAD_ACP,MB_COMPOSITE,str,strlen(str),unicodeWord,512);;
 
 for(  int i=0 ; unicodeWord[i]!=0 ; i++ )
 {
  Input.type =INPUT_KEYBOARD;
  Input.ki.wVk =0;
  Input.ki.wScan =unicodeWord[i];
  Input.ki.dwFlags = KEYEVENTF_UNICODE;
  Input.ki.time = 1000;
  Input.ki.dwExtraInfo = GetMessageExtraInfo();
  SendInput( 1, &Input , sizeof(INPUT) );
  Input.ki.dwFlags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP;
  SendInput( 1, &Input , sizeof(INPUT) );
 }
}
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1339768次
    • 积分:20808
    • 等级:
    • 排名:第365名
    • 原创:810篇
    • 转载:12篇
    • 译文:1篇
    • 评论:227条
    最新评论
    ATL/WTL
    Big Deal
    Book