基于win32键盘鼠标监控系统

基于win32键盘鼠标监控系统

ID:6073757

大小:29.00 KB

页数:7页

时间:2018-01-02

基于win32键盘鼠标监控系统_第1页
基于win32键盘鼠标监控系统_第2页
基于win32键盘鼠标监控系统_第3页
基于win32键盘鼠标监控系统_第4页
基于win32键盘鼠标监控系统_第5页
资源描述:

《基于win32键盘鼠标监控系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于WIN32键盘鼠标监控系统  摘要:在用计算机进行教学过程中,键盘、鼠标操作的不可见性一直困扰着整个教学过程,导致学生课程学习效果欠佳,学习兴趣下降,因此键盘、鼠标状态显示教辅软件开发具有很重要的研究价值。使用WIN32程序实现了对鼠标键盘的状态显示,拥有最大化和最小化两种良好的用户界面,都能够适时地显示鼠标或键盘上的按键信息。关键词:WIN32;钩子;消息队列;键盘控制;鼠标控制中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2014)001009902作者简介作者简介:汪小威(1985-),男,南宁学院信息工程学院讲师,研究方向为计算机应用。1研究背景7随着计

2、算机的广泛应用,计算机相关课程的教学、培训等已经走进了高校和企业。在对各类课程学习讲解过程中,教师键盘操作的不可见性一直困扰着整个教学过程,导致学生对相关课程和软件的学习效果欠佳,学习兴趣下降,比如对快捷键和功能键的学习,即使在教学过程中反复强调,反复操作,学生还是无法理解,不懂操作,特别对于初学者,更是无法掌握组合键的使用。而在现实中,组合键的使用直接影响到学生动手的熟练度、效率和对课程的学习兴趣[1]。如何将教师的键盘操作以某种方式显示在计算机屏幕上,让学生能够实时看到并模拟学习成为教学过程中的一个关键问题。键盘、鼠标状态显示教辅软件开发研究具有很重要的研究价值和研究意义,该项目的开发可

3、以让学生更好地去理解并学习,更熟练地操作计算机,提高学生的学习兴趣和对知识点的认识掌握,也使得教师在教学过程中更加轻松。2研究现状键盘鼠标监控系统属于计算机应用研究。目前,在国内外市场上只有相关的技术支持,譬如金山打字通软件、黑客技术等,却没有完整的软件和技术。键盘、鼠标状态显示教辅软件开发研究具有实用价值,软件功能成熟后还可作为商业软件应用。3技术关键点3.1WIN32编程WIN32程序是基于消息的,与WIN32Console程序不同的是,WIN32程序要依靠外部不断运行的事件来驱动,程序中有一个消息循环再检测消息,当检测到消息时,系统会发送给消息对应的窗口处理函数[23]。消息循环如下:

4、MSGmsg;while(GetMessage(&msg,NULL,0,0)){7TranslateMessage(&msg);DispatchMessage(&msg);}上面的消息循环主要是由GetMessage从消息队列中取消息,当GetMessage取出WM_QUIT消息时,会返回0,该循环结束,WIN32程序也终止。消息有以下几种来源:(1)来自硬件。操作硬件(键盘、鼠标等)时,Windows系统会把这一操作转换成消息,放入消息队列。(2)来自应用程序。在应用程序中,可以通过PostMessage、SendMessage方式把消息放入消息队列。PostMessage和SendMes

5、sage的区别是:PostMessage是异步的,也即PostMessage只负责将消息放到消息队列中,不知消息何时处理;而SendMessage是同步的,也即SendMessage必须等到消息被处理后才会返回。3.2系统架构系统架构见图1。7如图1所示,键盘Hook模块和鼠标Hook模块负责监控键盘、鼠标的操作,当发现键盘、鼠标状态出现变化时,通过SendMessage通知UI模块,UI模块把这一变化过程展示出来。3.3钩子在WIN32下,操作键盘、鼠标的时候,Windows系统只会将键盘、鼠标消息发送给当前焦点窗口。基于这一特性,我们每次必须先选中窗口,才能监控键盘、鼠标的操作,这显然很

6、不方便。幸好Windows提供了钩子,钩子是一种特殊的消息处理函数,可以用来监控系统的各种消息,截获发往目标窗口的消息并进行处理。可以在系统中安装钩子,监视系统特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入。图1系统架构钩子有很多类型,按事件分主要有键盘钩子、鼠标钩子等等,按使用范围分有全局钩子和线程钩子[4]。本系统正是使用了全局的键盘、鼠标钩子。全局钩子必须在DLL中实现,钩子的函数为:LRESULTCALLBACKProc(intnCode,WPARAMwParam,LPARAMlParam);通过SetWindowsHookEx可以注册钩子,通过UnhookWindowsH

7、ookEx卸载钩子。注册键盘钩子为:::SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)KeyboardProc,g_hInst,0);7注册鼠标钩子为:::SetWindowsHookEx(WH_MOUSE_LL,LowLevelMouseProc,g_hInst,0);3.4九宫绘制[5]在WIN32开发中,虽然Windows提供了一些标准的控件,但这些控件样式比较呆板

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。