输入键盘怎么样脱离输入法的干系

芊芊绝唱 2016-01-11 04:43:47
做了一个输入键盘,大致实现是这样的:

iKeyPressed = '1';//当然还有1234567890QWER...ASDZXC等等

keybd_event(iKeyPressed,0,0,0);
Sleep(1);
keybd_event(iKeyPressed,0,KEYEVENTF_KEYUP,0);

英文输入法下没有问题,但是假如输入法切换到中文以后,按Q就不再是输入一个大写字母Q了,而是会出现拼音输入法以及一些待选项,比如 去、前、请、起 等等。那怎么样才能让我的输入键盘不受输入法影响,不管输入法是什么,按A始终输入A,按Q始终输入Q呢?
谢谢大家!
...全文
154 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2016-03-23
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复多日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
schlafenhamster 2016-01-12
  • 打赏
  • 举报
回复
//********************************************************************** // // SteIMEOpenClose() // // This routines calls IMM API to open or close IME. // //********************************************************************** void SteImeOpenClose( HWND hWnd, BOOL fFlag ) { HIMC hIMC; // If fFlag is true then open IME; otherwise close it. if ( !( hIMC = ImmGetContext( hWnd ) ) ) return; ImmSetOpenStatus( hIMC, fFlag );// return 1 ImmReleaseContext( hWnd, hIMC ); }
zgl7903 2016-01-12
  • 打赏
  • 举报
回复
先加载英语键盘

  HKL m_hHKL = LoadKeyboardLayout( TEXT("00000409"), KLF_ACTIVATE);
  if(m_hHKL)
  {
    VERIFY( ActivateKeyboardLayout(m_hHKL, KLF_SETFORPROCESS) );
  }
赵4老师 2016-01-12
  • 打赏
  • 举报
回复
向1、2楼学习,向1、2楼致敬!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧