【技术实现步骤摘要】
本专利技术属于应用级检测可输入状态,具体涉及一种应用级检测可输入状态的方法。
技术介绍
1、在windows云桌面场景中,一般支持系统级别的输入法可输入状态检测。用户端获取到可输入通知后,可以打开本地输入法,然后同步本地输入内容到远程云桌面,提升输入体验,此类技术,有2种实现方式:1、通过getcursorinfo获取系统光标输入状态来判断;2、通过getguithreadinfo获取插入符状态来判断。
2、目前在windows云桌面中,如果某个应用没有采用标准的方式设置光标输入或者插入符状态,就会导致获取系统输入法可输入状态失败,另外如果云服务是一个多应用构架,每个应用对应一个用户,需要对每个应用都实现可输入状态检测时也不支持,降低了云化服务的兼容性和功能体验,因此我们需要提供一种应用级检测可输入状态的方法。
技术实现思路
1、本专利技术的目的在于提供一种应用级检测可输入状态的方法,可以实现单独检测每个应用的可输入状态,而且对于不使用标准的方式设置鼠标或者插入符状态的应用也可
...【技术保护点】
1.一种应用级检测可输入状态的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种应用级检测可输入状态的方法,其特征在于:所述在步骤1中,由于windows所有事件都是消息驱动,通过监控桌面程序的消息队列,可以实现全局注入dll,其中,SetWindowsHookEx可以指定对某一类消息进行监听,并且还能触发相应的回调函数。
3.根据权利要求2所述的一种应用级检测可输入状态的方法,其特征在于:所述SetWindowsHookEx函数,这个函数能够实现优先拦截提交给特定窗口的信息,并进行拦截者需要的处理,然后再提交给窗口函数或是下一个钩
...【技术特征摘要】
1.一种应用级检测可输入状态的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种应用级检测可输入状态的方法,其特征在于:所述在步骤1中,由于windows所有事件都是消息驱动,通过监控桌面程序的消息队列,可以实现全局注入dll,其中,setwindowshookex可以指定对某一类消息进行监听,并且还能触发相应的回调函数。
3.根据权利要求2所述的一种应用级检测可输入状态的方法,其特征在于:所述setwindowshookex函数,这个函数能够实现优先拦截提交给特定窗口的信息,并进行拦截者需要的处理,然后再提交给窗口函数或是下一个钩子函数,函数第一个参数为idhook,需要设置钩子的类型。
4.根据权利要求1所述的一种应用级检测可输入状态的方法,其特征在于:所述在步骤2中,在dll中实现一个导出函数lresult callback messageproc(int code,wparamwparam,lparam lparam)并在其中加上callnexthookex(null,code,wparam,lparam)作为函数实现.对应的注入程序会通过getprocaddress(hooklib,"messageproc")获取dll地址然后用setwindowshookex实现注入,获取输入法接口模块地址,使用loadlibrarya("cfgmgr32.dll")。
5.根据权利要求1所述的一种应用级检测可输入状态的方法,其特征在于:在步骤3中,所述注册需要监听的函数,通过detour框架的detour_attach接口,具体定义为immassociatecontext(hwnd hwnd,himc himc)和immassociatecontextex(hwnd hwnd,himc himc,dword dwflags)函数,注册成功后,这两个函数的调用会被重定向,执行到我们实现的代码中来。
6.根据权利要求5所述的一种应用级检测可输入状态的方法,其特征在于:所述自定义实现immassociatecon...
【专利技术属性】
技术研发人员:何震,高斌,邹琼,周双全,
申请(专利权)人:深圳市瑞云科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。