机房网络考试Kiosk模式的应用

2015-09-09 11:54罗昊江张欣
电脑知识与技术 2015年16期
关键词:机房

罗昊江+张欣

摘要:组织web网络考试时,需要限定考生除了考试网站页面外,不能操作其他的网络和本地资源。通过使用web浏览器的Kiosk模式,结合C#编程对计算机系统热键、鼠标右键以及系统功能进行适当的限制,能够实现机房网络考试的Kiosk模式。最后探讨了在机房使用网络考试云服务系统组织考试的具体方法。

关键词:网络考试;机房;信息亭模式;网络浏览器;热键

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)03-0036-02

Appling Research of Network Examination on Web Using Kiosk Mode in Computer Room

LUO Hao-jiang, ZHANG Xin

(Shaanxi Tax Cadres School, Xi an 710065, China)

Abstract: When running a network examination on web, it is important to prevent the student from accessing web URLs and local resources except the Test website page. By enabling kiosk mode of web browser, and combining with program using C# language to lock down the application of system hot keys、mouse right key and system function, the examination in kiosk mode can be accomplished in computer room.

Key words: network examination; computer room; Kiosk mode; web browser; hot key

由于网络考试系统依托的是网络服务器,便于统一管理、随时组织实施,使得组织实施考试更为简单、快捷。实现网络考试的方式一般有三种途径,在表1做了比较。

基于云服务所提供的考试系统大多是免费使用的或者是费用低,能大大降低学校和培训机构应用计算机网络组织考试的成本,但针对这种方式在组织管理考试时需要解决如何防止考生作弊的问题。

1 应用实现

1.1方案提出

在机房组织网络考试时,如果不加限制则考生在进行考试的同时也可以通过internet查找考试资料、获取考试答案。使用3层的网络设备可以设置将考试时的网络访问限制到相应网址,但这样一方面增加了设备的成本;另一方面由于是利用普通计算机房组织考试,考试时需要限制访问,平时上课时又得要放开限制,会使得机房的网络管理变得繁琐。如果采取适当的技术手段来限制网络考试中考生只能在卷面上进行答题操作,而无法使用除此之外的网络资源和本地资源,就能够保证考生不能通过计算机作弊了。

这其实就是计算机Kiosk模式的一种应用体现。所谓Kiosk模式是指信息亭模式,原意是指自助式的信息服务模式,当系统登陆后会自启动预先选择的特定应用,从而限定了系统的使用功能。Kiosk模式主要应用在企业,广泛使用在商业中,用于公共电脑或者嵌入系统,比如ATM机、自动服务机之类的系统。由于Kiosk模式下系统仅仅提供一个浏览器,因此用户也仅能使用浏览器所提供的功能,应用于网络考试中就可以防止考生访问其他资源。

web浏览器的Kiosk模式是一种以全屏方式显示网页的模式。不同于F11键切换出浏览器的全屏显示方式,此模式下无地址输入栏、菜单栏,也无工具栏和状态栏,仅会显示当前网页与滚动条,因而仅能点选网页内容,进行其他操作必须依靠快捷键来实现,这些特点基本符合进行网络考试时对屏幕的要求。因为互联网上的考试系统使用web浏览器作为客户端,所以通过适当限制系统功能热键、web浏览器的快捷键的操作,使系统仅能使用Kiosk模式下的web浏览器时,就可以很方便的用Kiosk模式来管理机房的网络考试了。

1.2问题的解决

1.2.1 web浏览器的Kiosk模式比较选择

针对三种主流web浏览器的Kiosk模式实现我们进行了测试比较,结果如表2。

从上面的比较可以看出主流的web浏览器是支持Kiosk模式的。通过测试发现Kiosk模式下IE支持Kiosk 模式启动,但在点击网页链接后的新建窗口不再是Kiosk模式;而Firefox则是由第三方插件R-Kiosk来实现Kiosk模式的,它同时还屏蔽了浏览器常用的快捷键和鼠标右键。我们最终选择Chrome浏览器作为考试用浏览器,主要是因为无需安装插件。

1.2.2 编制程序禁用功能键

由于Chrome浏览器本身没有屏蔽任何热键,为了确保考生仅能使用web浏览器而不能访问其他网络和本地资源,必须编程实现对系统热键以及浏览器快捷键的禁用。通过C#编制程序调用Windows系统的win32 API函数RegisterHotKey注册想屏蔽的热键,再重写窗口过程的回调函数WndProc,就能使注册的热键无效。测试发现通过这一方法可以禁用的大部分的快捷键如CTRL+A、CTRL+C、CTRL+V、CTRL+X等编辑类快捷键;以及CTRL+B、CTRL+H、CTRL+L、CTRL+N、CTRL+O、CTRL+P、CTRL+S、CTRL+W 、ALT+F4、ALT + Home等控制类快捷键。下面是RegisterHotKey函数的说明。

[DllImport("user32.dll")]

public static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);

还有一些系统热键如Alter + Tab、Ctrl + Alter + Tab、Ctrl + Esc、windows窗口键以及鼠标右键用这种方法屏蔽无效。我们使用安装键盘消息钩子、鼠标按键消息钩子的方法截获相应键盘的操作可以达到禁用这些热键的目的。而且这种方法对于前面用注册热键的方法可以禁用的热键也同样有效。调用下面的语句安装键盘钩子。

[DllImport("user32.dll")]

public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, int hreadId);

使用下面的C#语句用于判断截获Alt+Tab 。

(keybord.vkCode == (int)System.Windows.Forms.Keys.Tab && (int)System.Windows.Forms.Control.ModifierKeys == (int)System.Windows.Forms.Keys.Alt)

而对于系统热键Ctrl + Alt + Delete,由于其响应级别很高,前面的两种方式都无法屏蔽。考虑到禁用它的最终目的是不允许使用任务管理器,所以解决的思路是,通过设置系统注册表把任务管理器禁用掉,则当此热键激活时,系统对话中就不会出现任务管理器的选项了。

实现注册表操作的部分C#程序代码如下。

RegistryKey myreg;

myreg = Registry.LocalMachine;

myreg = mreg.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System");

myreg.SetValue("DisableTaskMgr", 1);

myreg.Close();

myreg = Registry.CurrentUser;

myreg = mreg.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System");

myreg.SetValue("DisableTaskMgr", 1);

myreg.Close();

1.2.3 实现Kiosk模式

具体的实现是编制一个直接启动浏览器Kiosk模式的程序,在程序中锁定要访问的网址,在程序启动时将系统的相关热键屏蔽,屏蔽鼠标右键功能并禁用任务管理器。执行此程序就可以实现开机启动到网络考试所需的浏览器的Kiosk模式下。程序的流程见图1:

图1 程序实现流程图

启动chrome浏览器的 kiosk模式的语句如下:

System.Diagnostics.Process.Start("chrome", "--kiosk " + "www.xxx.com");

机房所有的计算机统一安装此程序,使用时利用机房管理软件统一远程启动本程序或是将此程序设置为开机启动(为保障机房的正常使用,远程启动较为合理)。考试结束后,由机房管理软件远程重启计算机进行下一场考试或关闭计算机结束考试。

考虑到本机管理的方便还可以在程序中注册一个管理热键,在本机通过激活热键后输入管理密码后,就可以解锁被禁用的热键与系统功能。

2 结束语

机房在通常使用中不用限制计算机的任何功能,当其作为网络考试的场所时,可以通过这一方法实现暂时的功能限制来保障考试的管理需要。此方法简单、高效,既没有专用系统的开发成本,又充分利用了互联网考试系统的资源,适合于组织大部分课程的日常测试和常规考试。本程序及方法在我校已实际使用,达到了所需的目标效果,程序测试在win7和winxp操作系统下均能稳定可靠运行。本应用中系统的热键屏蔽是一个较难掌握的地方,必须测试所使用的浏览器和操作系统的功能热键,酌情考虑合适的方式编程禁用。

参考文献:

[1] Nagel C. C#高级编程[M].北京:清华大学出版社,2008.

[2] Jeffrey Richter. Windows核心编程[M].北京:机械工业出版社,2008.

猜你喜欢
机房
平疫结合的CT机房建设实践
高速公路机房节能浅析
基于VPN的机房局域网远程控制系统
数据中心机房气流组织研究在某机房的应用
浅谈一体化机房系统
浅谈高速公路一体化机房
N通信公司机房节能技改实践
某IDC机房结构设计
新型有线电视机房UPS系统的配置
构建更安全可靠的机房电源保障体系