…… …… 所学 所写 所想 所做 所悟…… ……
Introduction
Scriptom是由Guillaume Laforge开发的一个可选Groovy模块。一旦在的Groovy环境中安装上,你就能够在Groovy中应用一个包装器来为任何ActiveX或者COM组件写脚本。当然了,这个模块只能在Windows下用。
Installation
安装Scripttom的最简单方式是将这个ZIP包解压到你的GROOVY_HOME目录下。这个包内含了jacob.jar、jacob.dll和scriptom.jar. DLL文件要放在bin目录下,亦或是你的java.libray.path下,以备jacob.jar调用装载。
Building from sources
如果你足够勇敢并倾向于从CVS Head中获取最新版本,那么你可以从源代码构建。检出 /scriptom 模块并用Maven自动完成安装。
如果你的GROOVY_HOME正指向你的groovy-core的源代码安装目录,仅键入:
maven
另外,若已将Groovy安装在了一个不同的目录,你有两种选择,在文件project.properties里将属性groovy.install.staging.dest指向你的GROOVY_HOME目录,并运行Maven,或者键入:
maven -Dgroovy.install.staging.dest=%GROOVY_HOME%
Usage
让我们看一下如何针对IE浏览器写脚本。首先,我们当然是要将ActiveX代理类引入进来。然后,我们将创建一个jacob中ActiveXComponent类的GroovyObjectSupport包装器。现在,我们即将应用(调用)这个组件的属性或者是方法。
注意explorer.Visible返回的是一个代理,如果你想获取属性的真正的值,你要用这样的表达式:explorer.Visible.value 或explorer.Visible.getValue().
Limitations
目前,Scriptom处于beta阶段,故你在应用ActiveX或COM组件时可能会遇到一些bug和限制,不要犹豫,请将bug发表到JIRA或是邮件列表上。
第一个版本最大的一个不足(局限)是仍然还不能订阅你正在应用组件的事件。在下一个版本中,我希望能够让你能用闭包来定义自己的事件捕捉。象下面这样:
但是现在仍然不支持事件回调。在目前的CVS里有一个实验性的参考实现。它不能通过Groovy命令执行,但是可以在Java程序里透过GroovyShell对象来运行。
Samples
如果你检出了Scriptom的源代码,你会在src/script目录下发现几个例子。我将下面的几个小节中向你展示一些例子。
Scripting Internet Explorer
Scripting Excel
警告:在我的机器(WinXP Home),仍然会有一个Excel.exe进程在运行,我对此仍无线索。:(
Mixing VBScript or JScript with Groovy
Scripting the Windows Shell object
Scripting Windows Media Player
当事件回调被支持后,你就能够订阅player.statusChange事件,以便你能够完整地播放wav。
Converting a Word document into HTML
这个程序将一个word文件作为第一个参数,并且生成一个同名的HTML文件,只是扩展名为".html"
posted on 2005-02-24 17:53 carob 阅读(927) 评论(0) 编辑 收藏 所属分类: Groovy
Powered by: BlogJava Copyright © carob