2024年3月15日发(作者:)

通过按钮打开windows的软键盘

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

在普通MFC项目中可以调用ShellExecute或者WinExec方法来直接运行微软系

统自带的虚拟键盘程序“”,十分方便一句话就可以搞定。

ShellExecute:

ShellExecute(GetSafeHwnd(), NULL, _T(""), NULL, NULL,SW_NO

RMAL);

WinExec:

WinExec("",SW_NORMAL);

程序运行出来的界面:

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

在你要调出软键盘的代码中引入"imm.h"头文件(若项目里没有这两个文件,则

将这两文件复制到项目根目录里,并将"imm.h"添加到工程里)

#include

#pragma comment(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);