激活输入法后,在什么情况下敲键盘会弹出输入法窗口,求大神帮忙!! 用HOOK来做,比如你按了s捡,就发送Ctrl+Alt+Del按下的消息 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是虚拟机加了底层键盘hook,如果有焦点它把所有键盘输入接管交给虚拟机处理了,上层输入法当然无法获知键盘已经按下。 那请问 Idle_ 如何才能弹出输入法窗口呢 当获得输入焦点时调用ActivateKeyboardLayout激活你指定的输入法的键盘布局。 试试拦截 WM_IME_* 消息看看 你SPY下看能不能看到虚拟机焦点窗口的句柄,case WM_IME_SETCONTEXT: if (wParam) { hUIExtra = (HGLOBAL)GetWindowLong(hWnd,IMMGWL_PRIVATE); lpUIExtra = (LPUIEXTRA)GlobalLock(hUIExtra); if (hUICurIMC) { lpIMC = ImmLockIMC(hUICurIMC); if (lpIMC) { MoveCandWindow(hWnd,lpUIExtra,lpIMC); MoveCompWindow(hWnd,lpUIExtra,lpIMC); } else { HideCandWindow(lpUIExtra); HideCompWindow(lpUIExtra); } ImmUnlockIMC(hUICurIMC);}else // it is NULL input context.{ HideCandWindow(lpUIExtra); HideCompWindow(lpUIExtra);}GlobalUnlock(hUIExtra);}break;上面是自由拼音输入法获取到上下文的处理,应该是你的上下文获取失败隐藏了输入窗口或是一开始输入窗口就创建失败。 话说你2#所说的内容拦截信息是拦截虚拟机的窗口?还是拦截虚拟机所运行的系统里面的窗口?至于你说的切换了中文输入法,是windows的桌面输入法还是虚拟机里面的输入法?一般虚拟机获得焦点后,焦点都会被转移到虚拟机内部的焦点窗口中所有的鼠标移动、点击、键盘的按键都会被转移到里面去至于你说的输入法没现实那个框框出来,有可能是安卓系统的输入消息处理不正常所导致的吧(例如你在windows桌面里切换了中文输入法,但是虚拟机里没有切换,所以虚拟机里照样是按照普通按键信息来处理。而安卓在没有输入法小键盘出来的时候是不可能处理按键消息的) RichEdit插入ActiveX控件,控件无法响应消息 关于宏定义--看到的以前的贴子,还是不明白 输入焦点问题 窗口问题 怎样用别人的程序调试自已的动态库? 200分求一个 番茄花园邀请码 Toolbar里添加下拉列表框 Edit control中的画图问题 移动SP世界开张,欢迎各位技术牛人,业内高手,前来指导(散分啦) 紧急求助!高分求助关于一个消息发送问题,谢谢! VC2008 Professional Edition 为什么会出现vshelp version=7.0.3300 找不到文件 多个程序能不能调用同一个com实例呢
case WM_IME_SETCONTEXT:
if (wParam)
{
hUIExtra = (HGLOBAL)GetWindowLong(hWnd,IMMGWL_PRIVATE);
lpUIExtra = (LPUIEXTRA)GlobalLock(hUIExtra);
if (hUICurIMC)
{
lpIMC = ImmLockIMC(hUICurIMC);
if (lpIMC)
{
MoveCandWindow(hWnd,lpUIExtra,lpIMC);
MoveCompWindow(hWnd,lpUIExtra,lpIMC);
}
else
{
HideCandWindow(lpUIExtra);
HideCompWindow(lpUIExtra);
}
ImmUnlockIMC(hUICurIMC);
}
else // it is NULL input context.
{
HideCandWindow(lpUIExtra);
HideCompWindow(lpUIExtra);
}
GlobalUnlock(hUIExtra);
}
break;
上面是自由拼音输入法获取到上下文的处理,应该是你的上下文获取失败隐藏了输入窗口或是一开始输入窗口就创建失败。
拦截信息是拦截虚拟机的窗口?还是拦截虚拟机所运行的系统里面的窗口?
至于你说的切换了中文输入法,是windows的桌面输入法还是虚拟机里面的输入法?一般虚拟机获得焦点后,焦点都会被转移到虚拟机内部的焦点窗口中
所有的鼠标移动、点击、键盘的按键都会被转移到里面去
至于你说的输入法没现实那个框框出来,有可能是安卓系统的输入消息处理不正常所导致的吧(例如你在windows桌面里切换了中文输入法,但是虚拟机里没有切换,所以虚拟机里照样是按照普通按键信息来处理。而安卓在没有输入法小键盘出来的时候是不可能处理按键消息的)