1.直接运行微软系统自带的虚拟键盘程序“osk.exe”

在普通MFC项目中可以调用ShellExecute或者WinExec方法来直接运行微软系统自带的虚拟键盘程序“osk.exe”,十分方便一句话就可以搞定。

ShellExecute:

    ShellExecute(GetSafeHwnd(), NULL, _T("osk.exe"), NULL, NULL,SW_NORMAL);

WinExec:

   WinExec("osk.exe",SW_NORMAL);

程序运行出来的界面:

2.添加"imm.h"和"imm32.lib"来调出软键盘

在你要调出软键盘的代码中引入"imm.h"头文件(若项目里没有这两个文件,则将这两文件复制到项目根目录里,并将"imm.h"添加到工程里)

#include <Imm.h>  
#pragma comment(lib,"imm32.lib")  

然后在调出软键盘的消息事件中添加如下代码即可:

HIMC hIMC = ImmGetContext(pWnd->m_hWnd);   //获取接受输入的窗口句柄   
DWORD dwConv, dwSent;  
ImmGetConversionStatus(hIMC,&dwConv,&dwSent);  
if (dwConv & IME_CMODE_SOFTKBD)  
 dwConv &= ~IME_CMODE_SOFTKBD;//关闭软键盘   
else  
 dwConv |= IME_CMODE_SOFTKBD; //打开软键盘    
ImmSetConversionStatus(hIMC,dwConv,dwSent); //打开或关闭软键盘
ImmReleaseContext(pWnd->m_hWnd,hIMC);   

但这种方法似乎只能在输入法开启的状态下才可以打开软键盘

3.在WINCE上运行的MFC中使用SipApi来调出软键盘

为项目添加"sipapi.h"头文件,并在代码中把这个头文件包括进来

调出软键盘的方法调用起来很简单,就一句话而已。

打开软键盘:

        SipShowIM(SIPF_ON);

关闭软键盘:

        SipShowIM(SIPF_OFF);

运行效果:

转载于:https://www.cnblogs.com/youuuu/archive/2011/07/25/2116370.html

【MFC】MFC中调用系统软键盘的几种方法相关推荐

  1. android外接键盘打汉字,Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 第一次写,写的不好请见谅 参考: 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有 ...

  2. 系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?

    第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串 KeycodeLabels.h : framewor ...

  3. Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 可以加群:466059178,可以共同讨论,大神指导 第一次写,写的不好请见谅 参考: http://blog.csdn.net/DrakeB ...

  4. Visual studio之C# 调用系统软键盘(外部osk.exe)

    背景 App需要调用系统软键盘输入数据,自己去实现软键盘有些复杂,现在又是急需,没时间去研究实现软键盘,所以只能调用系统软键盘. 正文 需要添加命名空间, using System.Diagnosti ...

  5. wincc调用软键盘的几种方法

    wincc调用软键盘 软件设置 VB脚本 调用windows系统软键盘 调用wincc自带软键盘 C脚本 调用windows系统软键盘 调用wincc自带软键盘 软件设置 打开"计算机属性& ...

  6. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  7. C# 调用系统软键盘帮助类(兼容.netframework2.0)

    前言 最近再做触屏系统的时候需要手动调用打开系统软键盘的需求,网上查找到的资料很多,在高版本的fx上也能用,但是刚好我这个现场程序是基于fx2.0开发的,只能在之前的基础上改造支持.目前已经调整到可以 ...

  8. Android调用系统软键盘删除键 以达到删除输入框里面emoji表情的功能

    想必大家在很多项目里都会涉及到聊天功能,为了在聊天里面加入表情,我们可能会去自定义表情列表布局,而一般的表情列表的右下角都有一个删除按钮,用于删除输入框里面的文字.自定义表情.emoji表情等,那么我 ...

  9. ant中调用外部ant任务的两种方法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

最新文章

  1. 清华张钹院士、人大文继荣院长展开激情辩论:人类对AI的爱痴忧惧
  2. Hello,Akka
  3. python print 不能立即打印输出 解决方法
  4. python字典实现关键字检索_如何实现搜索框的关键词提示功能
  5. Docker的启动与停止命令
  6. Python Day8
  7. 【知识小课堂】 mongodb 之 objectId
  8. 钟 docker讲解
  9. linux 下脚本安装 mysql_linux(centos7)下编译安装mysql(数据库)一键安装详解+脚本文件...
  10. 第四章信息系统安全基础考试要点及真题分布
  11. Git 日常开发常用命令
  12. python or的用法_python and or用法详解
  13. 软件用户手册(软件使用说明书)模板
  14. 10个超实用的微信小程序 | 值得推荐的微信小程序
  15. java token 生成_生成 Token
  16. mysql 锁级别说明 一
  17. SQL查询语句多表联查、三表关联查询
  18. 如何制作小游戏(c++教程)(新手版)(1)
  19. Python基础_Day_01_作业
  20. 方正科技携手华育国际 助力职业教育发展

热门文章

  1. 某游戏在华为鸿蒙,华为鸿蒙系统运行安卓游戏出现新状况!安卓换皮论被彻底打脸?...
  2. adb logcat 保存_保存的logcat在Android设备上的文本文件
  3. 计算机电子琴弹奏怎么打开,怎么打开电脑键盘电子琴软件
  4. java 异常机制_深入理解Java异常处理机制
  5. ux设计师薪水_客户现在也是UX设计师
  6. Table.Rows.Remove(dr)和Table.Delete()的区别
  7. solidity字符串拼接
  8. 八年溯源,如何巧搭区块链
  9. 复杂性思维中文第二版 附录 A、算法分析
  10. Laravel Passport里的授权类型介绍