论文部分内容阅读
摘要:文章通过对锁屏原理的深入分析和研究,利用c#中hook(钩子)对于windows消息的处理机制,结合中小学生使用计算机学习时对于特定功能的需求,在Microsoft Visual Studio 2008编程环境下较完整地实现了具有限制操作功能的锁屏软件。
关键词:计算机管理;Wi ndows API
1引言
在当今信息社会,计算机在人们的学习、生活、工作中扮演着越来越重要的角色,但是计算机在给人们带来大量便利的同时也带来了一些问题,尤其是对于未成年人,其人生观、价值观尚未形成,对于计算机带来的一些诱惑没有抵抗力,这就造成了一些孩子上网成瘾或者是沉浸在网络游戏中不能自拔,整天神游在计算机构筑的虚拟世界里,荒废了自己的学业。因此,开发辅助家长监管未成年人使用计算机的软件已经成为一件迫在眉睫的事情。本文将探索对于未成年人使用计算机进行监管的实现方法,研究系统开发过程中的关键技术,在此基础上设计并实现了基于net的电脑使用监管系统。
2系统的总体设计
本系统在立足于实现锁屏功能的前提下,充分考虑了未成年人的计算机操作水平以及人们学习时对于计算机的实际功能需求,具体设计了5个功能如图l所示。
2.1锁屏功能
在计算机使用监管系统运行的时候让系统操作界面将原Windows桌面全部覆盖,形成新的电脑桌面,这样用户就只能在当前可视的新桌面上进行操作。根据系统功能,新桌面上集成了以下功能的操作:密码修改、office操作、桌面背景更换、透明度改变等,操作方法与Windows一样,采用鼠标点击即可进入相应操作程序。
具体的实现主要是利用了窗体固有属性的设置,开发过程如下:(1)首先新建Windows应用窗体,在其中加入一张图片。(2)然后将窗体的FromBorderStyle属性设置为None,这样可以屏蔽掉窗体右上角上的最大化、最小化和关闭按钮,用户就不能通过鼠标点击关闭该窗体。(3)将BackgroundImageLayout的属性设置为Stretch,该属性的设置可以使窗体在程序运行时铺满整个电脑屏幕。
2.2屏蔽热键
通过属性设置,虽然新桌面覆盖了原来的windows桌面,达到了限制计算机功能的目的,但是整个“电脑使用监管系统”在本质上还是运行在Windows操作系统下的应用程序,而众所周知,微软公司为了方便用户的操作,在Windows操作系统中设置了许多热键(如Alt+Tab键、Ctrl+Esc键、AIt+F4键等),而且用户根据自己的需求还可以自己定义热键,通过这些热键可以很容易的在不点击鼠标的情况下将程序关闭,或者时最小化到任务栏,这样一来锁屏功能就被破解了,所以必须将热键屏蔽,使之在本系统运行时不起作用。
实现屏蔽热键的功能主要原理是利用Windows API中的钩子(hook)监听键盘消息,在消息到达相应窗口之前将其捕获,并强制结束消息再向下传递,不过需要注意的是,使用钩子时要将钩子函数的程序代码放到一个独立的类库里面,因为只有d11文件才能被注射到其他进程中。程序的主要开发过程如下:(1)引入命名空间“using System.Reflection”,如果没有它,程序在编译的时候就会报错。(2)设置各种键位的ASC码,将ASC码赋予指定的变量。(3)定义需要拦截的键或者是多个键的组合。(4)钩子的安装与卸载,由于钩子会消耗消息处理时间,降低系统性能,所以必须选好钩子的安装时机,在使用完毕后要及时卸载。
2.3屏蔽任务管理器
使用了钩子之后电脑可以屏蔽绝大部分热键,但是唯独ctrl+alt+del没有被屏蔽,只要同时按下这3个键,任务管理器就会跳出来,这是由于这个组合键是系统级别的,普通的屏蔽方法是不起作用的,如此一来通过任务管理器还是可以把本系统关闭,破解锁屏功能,所以任务管理器也必须屏蔽。利用timer控件,在每一个固定的时间间隔就扫描进程一次,如果发现任务管理器进程运行,就将其关闭。
2.4操作office文件
通过调查发现,微软公司的office软件是未成年人在使用计算机学习时使用频率最高的软件,所以在本系统中也集成了对于office的操作功能。现在一般通行的方法是通过程序调用,直接将office程序打开,但是这样对于电脑使用水平较高的孩子来说就会造成问题,因为通过office程序可以打开Windows资源管理器,如此一来未成年人就可以掌握计算机中的所有内容,同样相当于锁屏功能被破解,不能再起到限制电脑功能的作用。
利用.NET现有的axWebBrowser控件将office文件直接显示在该控件中,如此Office程序原有的快捷工具栏就被隐藏了,但是通过鼠标右键还是能够对文件进行一些必要的操作。
具体的开发过程如下:(1)添加axWebBrowser控件,工具箱(单击右键)—>选择项—>eom组件—>勾选Microsoftweb浏览器选项,点击确定,axWebBrowser控件就在工具箱里了。(2)将axWebBrowser拖入相应的窗体中,并调整至合适的大小。
2.5定时关机
定时关机功能的设计思路是,程序运行时用户首先设置关机时间以及关机类型,关机类型包括关机、重启、注销和显示提示信息,再继续设置关机是每天执行还是一周的某一天执行,最后,通过Timer组件不停的读取当前时间是否与设置的关机时间相等,如果相等则执行指定的操作。
本章主要为系统的实现部分,按照软件开发过程中的模块化思想,首先简要介绍了系统的基本情况,在此基础上对于系统实现的五大功能分别进行了详细的介绍,并在其中附上了各功能的操作方法以及核心代码的说明。
3结语
文章阐述了电脑使用监管系统的最初设想以及功能要求,明确了用户对于系统的需求以及系统应该具有的功能即锁闭屏幕、屏蔽热键、屏蔽任务管理器、操作office、定时关机,并以模块为单位详细阐述了各模块的设计方法。该系统可以防止中小学生过度使用计算机。
关键词:计算机管理;Wi ndows API
1引言
在当今信息社会,计算机在人们的学习、生活、工作中扮演着越来越重要的角色,但是计算机在给人们带来大量便利的同时也带来了一些问题,尤其是对于未成年人,其人生观、价值观尚未形成,对于计算机带来的一些诱惑没有抵抗力,这就造成了一些孩子上网成瘾或者是沉浸在网络游戏中不能自拔,整天神游在计算机构筑的虚拟世界里,荒废了自己的学业。因此,开发辅助家长监管未成年人使用计算机的软件已经成为一件迫在眉睫的事情。本文将探索对于未成年人使用计算机进行监管的实现方法,研究系统开发过程中的关键技术,在此基础上设计并实现了基于net的电脑使用监管系统。
2系统的总体设计
本系统在立足于实现锁屏功能的前提下,充分考虑了未成年人的计算机操作水平以及人们学习时对于计算机的实际功能需求,具体设计了5个功能如图l所示。
2.1锁屏功能
在计算机使用监管系统运行的时候让系统操作界面将原Windows桌面全部覆盖,形成新的电脑桌面,这样用户就只能在当前可视的新桌面上进行操作。根据系统功能,新桌面上集成了以下功能的操作:密码修改、office操作、桌面背景更换、透明度改变等,操作方法与Windows一样,采用鼠标点击即可进入相应操作程序。
具体的实现主要是利用了窗体固有属性的设置,开发过程如下:(1)首先新建Windows应用窗体,在其中加入一张图片。(2)然后将窗体的FromBorderStyle属性设置为None,这样可以屏蔽掉窗体右上角上的最大化、最小化和关闭按钮,用户就不能通过鼠标点击关闭该窗体。(3)将BackgroundImageLayout的属性设置为Stretch,该属性的设置可以使窗体在程序运行时铺满整个电脑屏幕。
2.2屏蔽热键
通过属性设置,虽然新桌面覆盖了原来的windows桌面,达到了限制计算机功能的目的,但是整个“电脑使用监管系统”在本质上还是运行在Windows操作系统下的应用程序,而众所周知,微软公司为了方便用户的操作,在Windows操作系统中设置了许多热键(如Alt+Tab键、Ctrl+Esc键、AIt+F4键等),而且用户根据自己的需求还可以自己定义热键,通过这些热键可以很容易的在不点击鼠标的情况下将程序关闭,或者时最小化到任务栏,这样一来锁屏功能就被破解了,所以必须将热键屏蔽,使之在本系统运行时不起作用。
实现屏蔽热键的功能主要原理是利用Windows API中的钩子(hook)监听键盘消息,在消息到达相应窗口之前将其捕获,并强制结束消息再向下传递,不过需要注意的是,使用钩子时要将钩子函数的程序代码放到一个独立的类库里面,因为只有d11文件才能被注射到其他进程中。程序的主要开发过程如下:(1)引入命名空间“using System.Reflection”,如果没有它,程序在编译的时候就会报错。(2)设置各种键位的ASC码,将ASC码赋予指定的变量。(3)定义需要拦截的键或者是多个键的组合。(4)钩子的安装与卸载,由于钩子会消耗消息处理时间,降低系统性能,所以必须选好钩子的安装时机,在使用完毕后要及时卸载。
2.3屏蔽任务管理器
使用了钩子之后电脑可以屏蔽绝大部分热键,但是唯独ctrl+alt+del没有被屏蔽,只要同时按下这3个键,任务管理器就会跳出来,这是由于这个组合键是系统级别的,普通的屏蔽方法是不起作用的,如此一来通过任务管理器还是可以把本系统关闭,破解锁屏功能,所以任务管理器也必须屏蔽。利用timer控件,在每一个固定的时间间隔就扫描进程一次,如果发现任务管理器进程运行,就将其关闭。
2.4操作office文件
通过调查发现,微软公司的office软件是未成年人在使用计算机学习时使用频率最高的软件,所以在本系统中也集成了对于office的操作功能。现在一般通行的方法是通过程序调用,直接将office程序打开,但是这样对于电脑使用水平较高的孩子来说就会造成问题,因为通过office程序可以打开Windows资源管理器,如此一来未成年人就可以掌握计算机中的所有内容,同样相当于锁屏功能被破解,不能再起到限制电脑功能的作用。
利用.NET现有的axWebBrowser控件将office文件直接显示在该控件中,如此Office程序原有的快捷工具栏就被隐藏了,但是通过鼠标右键还是能够对文件进行一些必要的操作。
具体的开发过程如下:(1)添加axWebBrowser控件,工具箱(单击右键)—>选择项—>eom组件—>勾选Microsoftweb浏览器选项,点击确定,axWebBrowser控件就在工具箱里了。(2)将axWebBrowser拖入相应的窗体中,并调整至合适的大小。
2.5定时关机
定时关机功能的设计思路是,程序运行时用户首先设置关机时间以及关机类型,关机类型包括关机、重启、注销和显示提示信息,再继续设置关机是每天执行还是一周的某一天执行,最后,通过Timer组件不停的读取当前时间是否与设置的关机时间相等,如果相等则执行指定的操作。
本章主要为系统的实现部分,按照软件开发过程中的模块化思想,首先简要介绍了系统的基本情况,在此基础上对于系统实现的五大功能分别进行了详细的介绍,并在其中附上了各功能的操作方法以及核心代码的说明。
3结语
文章阐述了电脑使用监管系统的最初设想以及功能要求,明确了用户对于系统的需求以及系统应该具有的功能即锁闭屏幕、屏蔽热键、屏蔽任务管理器、操作office、定时关机,并以模块为单位详细阐述了各模块的设计方法。该系统可以防止中小学生过度使用计算机。