系统相关和图形界面

系统相关和图形界面

ID:39622654

大小:536.50 KB

页数:27页

时间:2019-07-07

系统相关和图形界面_第1页
系统相关和图形界面_第2页
系统相关和图形界面_第3页
系统相关和图形界面_第4页
系统相关和图形界面_第5页
资源描述:

《系统相关和图形界面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章系统相关和图形界面对于系统管理员而言,可能每天都会需要与脚本打交道,有时是为了简单的诸如自动备份和恢复系统的任务,有时是因为需要自动完成很复杂且不断重复性的工作,例如周期性的检测和释放磁盘空间,存储24小时内的所有系统设置的改动等。脚本语言没有繁冗的语法限制,能够快速地开发和执行,即写即用,而且与操作系统结合非常紧密,其实最初就是为了协助系统管理员而诞生的。Ruby作为一门新兴的动态脚本语言,很好地继承了前辈在系统管理方面的优势。在本章中将会全面介绍Ruby在系统方面的技术和技巧。另外在本章的后半部分还将介绍如何

2、使用Ruby创建图形界面(GUI)。9.1运行外部程序运行外部程序,是与外部系统交互的一种方式,也是系统操作最基础的功能之一。Ruby提供了多种运行外部程序的方式。(1)第一种方式是使用%x方法,它可以执行外部命令或程序,运行时,会一直等待程序运行结束然后再继续执行后面的代码,运行完毕后会将程序输出的结果以字符串形式返回。例如:list=%x(dir)(2)另外一种方式是使用system方法,很多语言中都有同名的方法,它通过一定的内部机制执行指定的命令。例如:system(“notepad”)#打开记事本system(

3、“dirc:\”)#显示c:下的目录文件9.2编写命令行程序和ARGV变量虽然操作系统已经步入了图形化操作的阶段,但是对于系统管理而言,文本形式的命令行程序依然非常重要。到此为止,本书中介绍的所有Ruby程序示例都是要么可以在irb中运行,要么就是可以使用ruby.exe解析程序在命令行窗口中直接执行,不难发现原来Ruby命令行程序可以实现如此强大的功能。目前编写完善的命令行程序唯一欠缺的就是接收通过命令行传递给Ruby程序的参数,实际上Ruby提供了一个全局变量ARGV来实现这个功能。ARGV为一数组,可以使用A

4、RGV.size获得参数的数量,ARGV[0]来获得第一个参数等。9.3Win32API和Win32OLE虽然Ruby诞生于Unix环境,而且不容否认的是Ruby在Unix环境中能够发挥最大的威力,不过Ruby的作者和整个社区都在尽力改变这种情况。Ruby已经迈向了许多平台,作为Ruby的第二平台Windows,很显然也获得了比较成熟的支持。下面就将介绍Ruby对于Windows32API接口以及Windows自动化的支持和简单应用。9.3.1Win32API简介Win32API是Windows操作系统内核与应用程序之

5、间的接口,它将Windows系统内核提供的功能进行函数包装,应用程序通过调用相关函数而获得相应的系统功能。标准Win32APl函数包括系统服务、通用控件库、图形设备接口、网络服务、用户接口、系统Shell以及Windows系统信息等众多方面的支持。Ruby标准库中提供了一个名为Win32API的库,为Ruby程序提供了访问Window32API接口的支持。使用过程可以分为三步:(1)使用Win32API.new定义Ruby对API的接口,例如:get_cursor_pos=Win32API.new("user32","

6、GetCursorPos",['P'],'V')(2)调用API时,使用Win32API实例的Call方法调用,同时可以传入相应的参数。例如:get_cursor_pos.Call(lpPoint)(3)传入的参数和传回的结果在需要时,可以使用Array的实例方法pack和String的unpack方法设置或获得正确的数据。9.3.2Win32OLE简介OLE(ObjectLinkingandEmbedding、对象的链接与嵌入)是一项增强Windows应用程序之间的相互协作性的技术,它使Windows应用程序的功能得

7、以扩展。使用OLE技术,一个Windows应用程序可以启动其他Windows应用程序,也可以显示和控制其他Windows应用程序的数据,并在创建该数据的程序中对它进行编辑。Win32OLE库是Ruby程序访问WindowOLE自动化操作的接口。它所操作的也是对象,因此相对于Win32API而言使用上会更加简单一些。在创建OLE对象时,使用的也是Win32OLE.new方法,参数可以是OLE自动化对象类的名称,也可以是类的CLSID。例如,以下两种方式是一致的:excel=WIN32OLE.new('Excel.Appl

8、ication')excel=WIN32OLE.new('{00024500-0000-0000-C000-000000000046}')9.3.3使用Win32OLE操作Word和ExcelMicrosoftOffice系列的产品都能比较好地支持OLE自动化操作,也即意味着可以使用Ruby自动创建Word文档或者是Excel电子

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

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

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