发明名称 |
一种准确获取计算机屏幕变化的方法 |
摘要 |
本发明公开了一种准确荻取计算机屏幕变化的方法,该方法至少包含以下步骤:通过一个控制台主模块,在进程代码执行前完成一API钩子模块的挂接,该API钩子模块拦截图像输出函数,获取其输出区域,并通过消息发送给控制台主模块;同时控制台主模块载入一消息钩子模块,为操作系统挂接消息钩子,该消息钩子拦截用户输入事件以及引起屏幕变化的消息,并将该消息发送给控制台主模块,其次,控制台主模块处理接收到的消息流,合并屏幕变化的区域,抓取该区域的图像。本发明由于在进程代码执行前完成挂接,因此能对系统的全部运行过程进行监测,从而准确获取屏幕的变化。本发明能够可靠应用于远程监控,电子教室等领域。 |
申请公布号 |
CN1179269C |
申请公布日期 |
2004.12.08 |
申请号 |
CN02126025.7 |
申请日期 |
2002.08.09 |
申请人 |
联想(北京)有限公司 |
发明人 |
孙成昆;刘渤;赵俊先 |
分类号 |
G06F9/40 |
主分类号 |
G06F9/40 |
代理机构 |
北京德琦知识产权代理有限公司 |
代理人 |
宋志强 |
主权项 |
1、一种准确获取计算机屏幕变化的方法,其特征在于至少包含以下步骤:A、控制台主模块将进程挂接模块插入到操作系统进程空间,用于拦截进程创建函数,在系统调用进程创建函数时,将API钩子模块插入到新创建的进程空间中,并且,为进程中运行的每个模块挂接API钩子;监视操作系统的模块加载函数并为获取过程地址函数GetProcAddress挂接API钩子;之后,API钩子模块拦截图像输出函数,获取其输出区域,并通过消息发送给控制台主模块;所述的控制台主模块载入一消息钩子模块,为操作系统挂接消息钩子,该消息钩子模块将所拦截的系统消息或用户输入事件交给系统中的消息处理函数,由消息处理函数判断消息钩子模块所拦截的系统消息或用户输入事件是否能够引起屏幕变化,如是则将引起屏幕变化的消息发送给控制台主模块,否则交给系统继续原操作;B、控制台主模块处理接收到的消息流,合并屏幕变化的区域,抓取该区域的图像。 |
地址 |
100085北京市海淀区上地信息产业基地创业路6号 |