[发明专利]一种模拟鼠标指针绘制方法、装置、设备和介质在审
申请号: | 202110024942.3 | 申请日: | 2021-01-08 |
公开(公告)号: | CN112799801A | 公开(公告)日: | 2021-05-14 |
发明(设计)人: | 傅博;甘锐;于泽明;李广斌;彭寿林;郭月丰 | 申请(专利权)人: | 杭州雾联科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘晓菲 |
地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模拟 鼠标 指针 绘制 方法 装置 设备 介质 | ||
1.一种模拟鼠标指针绘制方法,其特征在于,应用于目标云主机上的游戏管理器,包括:
基于串流客户端发送的游戏启动请求创建游戏进程,以启动所述游戏启动请求对应的游戏;
将所述游戏进程的进程ID添加到所述目标云主机上预设的内核驱动模块中的监控列表中,以便所述内核驱动模块在接收到所述游戏进程调用内核中的目标API时,对API调用信息进行拦截和存储,其中,所述内核驱动模块用于劫持所述目标API对应的用户态函数;
获取所述游戏进程的主窗口信息,并基于所述主窗口信息在所述游戏进程的主窗口显示区域上层创建透明顶层窗口,以便将所述透明顶层窗口作为所述游戏进程对应的模拟鼠标指针的移动区域和绘制区域;
创建所述游戏进程对应的模拟鼠标指针绘制线程,并初始化Direct2D绘制环境;
调用所述模拟鼠标指针绘制线程根据模拟鼠标指针信息在所述透明顶层窗口上绘制所述模拟鼠标指针,其中,所述模拟鼠标指针信息包括从所述串流客户端和所述驱动模块中获取到的信息。
2.根据权利要求1所述的模拟鼠标指针绘制方法,其特征在于,所述获取所述游戏进程的主窗口信息,包括:
根据所述进程ID以及所述游戏进程的目标属性查找所述游戏进程的主窗口;
获取所述主窗口的主窗口信息,其中,所述主窗口信息包括所述主窗口的位置和窗口大小。
3.根据权利要求2所述的模拟鼠标指针绘制方法,其特征在于,所述基于所述主窗口信息在所述游戏进程的主窗口显示区域上层创建透明顶层窗口,包括:
创建所述游戏进程对应的透明顶层窗口,其中,所述透明顶层窗口的大小和位置分别与所述主窗口信息中的所述主窗口的大小和位置相同;
将所述透明顶层窗口叠加到所述主窗口的主窗口显示区域上方。
4.根据权利要求1所述的模拟鼠标指针绘制方法,其特征在于,所述创建所述游戏进程对应的模拟鼠标指针绘制线程之前,还包括:
将所述模拟鼠标指针的坐标初始化为所述透明顶层窗口的左上角;
将所述模拟鼠标指针的图标初始化为Windows自带的IDC_ARROW鼠标指针。
5.根据权利要求1所述的模拟鼠标指针绘制方法,其特征在于,还包括:
通过RPC接口获取所述目标云主机上的串流服务端发送的模拟鼠标指针信息,其中,所述模拟鼠标指针信息为所述串流客户端通过TCP协议传输到所述串流服务端的信息,所述模拟鼠标指针信息包括用户ID以及鼠标移动数据。
6.根据权利要求1至5任一项所述的模拟鼠标指针绘制方法,其特征在于,还包括:
调用所述目标云主机上的数据读取线程从所述内核驱动模块中读取所述模拟鼠标指针信息,其中,所述模拟鼠标指针信息为所述API调用信息,包括调用进程ID、调用API类型以及调用参数,所述数据读取线程为所述目标云主机上公用的线程,所述目标API包括SetCursor API、ShowCursor API、SetCursorPos API、ClipCursor API。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州雾联科技有限公司,未经杭州雾联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110024942.3/1.html,转载请声明来源钻瓜专利网。