下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何快速地从网页中获得Email地址
摘要WSH是一种基于32位Windows平台、应用于ActiveX脚本引擎、与编程语言无关的脚本宿主。本文通过几个实例介绍了如何在Delphi5.0中应用WSH技术。关键词DelphiiWSH脚本执行和辅助功能1引言微软公司的WSH(WindowsScriptingHost)是一种基于32位Windows平台、应用于ActiveX脚本引擎、与编程语言无关的脚本宿主。WSH具有良好的脚本语言支持特性,它支持VBScript、javascript、Perl、REXX等各种脚本语言。WSH的运行方式较为灵活,既可以在Windows中运行,也可以在DOS命令模式下启动。微软已经在Windows98、Windows2000中内置了WSH技术。WSH对象模型主要包含了两类ActiveX接口:脚本执行和辅助功能。每类接口提供多种WSH对象,各对象有自己的方法和属性。脚本执行接口提供了许多属性和方法。这类接口允许脚本操作处理WSH,在屏幕上显示特定信息,执行一些基本功能(如创建Word应用程序对象)。辅助功能接口也提供了丰富的属性和方法供用户使用。利用这些属性和方法我们可以进行各种操作,例如:映射网络驱动器、连接远程打印机、获取编辑系统环境变量(如用户名、计算机名、域名等等)、操作注册表等。系统管理员可以利用这些辅助功能创建简单的登录脚本。程序编写者可以利用这些由WSH提供的对象接口在基于Windows的平台上执行各种自动化任务,例如:启动Word、Excel、Powerpoint任务,打开CAD文件等。在Delphi5.0中应用WSH技术,不但可以利用WSH的强大功能增强应用程序的性能,还可以简化应用程序设计,使编程工作更为简单。某些原本只能由WindowsAPI函数完成的工作现在可以使用更为简单明了的WSH完成。WSH为用户提供了多个对象,例如:WshShortcut、WshShell、WshArguments、WshUrlShortcut、Automation、WshEnvironment等等。我们可以利用它们进行各种应用。2WSH应用实例2.1映射网络驱动器
在实际开发MIS系统时,我们曾经碰到这样一个问题:该系统由企业内部30个不同的部门使用,由于管理的需要,各部门的数据除了通过专用数据库接口提交到服务器以实现数据共享外,还须由系统自动将各部门数据以专门的HTML文件格式发送到指定的服务器目录下。服务器上对应设置了30个不同的共享目录。服务器上的共享目录分别映射为本地各部门的指定驱动器如W:)。显然,逐个部门进行手工映射比较繁琐。比较严重的情况是,如果用户由于误操作断开该映射,将导致应用系统无法运行。比较好的做法是在系统启动时自动映射网络驱动器,WSH为我们提供了非常简单的实现方法。下面是一个示例性程序:procedureTForm1.FormCreate(Sender:TObject);varoWshNetwork:variant;beginoWshNetwork:=CreateOleObject('Wscript.Network');oWshNetwork.MapNetworkDrive('w:','\\ezss\ydmis','True','administrator','xyz');End;程序首先创建基于WSH的OLE对象,然后映射服务器ezss上的共享目录ydmis为W:。MapNetworkDrive方法的语法格式为:MapNetworkDrive(strLocalName,strRemoteName,[bUpdateProfile],[strUser],[strPassword])各参数含义简要说明如下:strLocalName映射到本地的驱动器名称。strRemoteName映射的远程共享名。
bUpdateProfile如果本参数设置为TRUE,这种映射将存储在用户Windows系统的profiles文件夹下作为用户配置保留。strUser、strPassword指定受托共享的用户名和密码。
若要断开该映射,可以使用RemoveNetworkDrive方法,例如oWshNetwork.RemoveNetworkDrive('w:')。2.2创建应用程序快捷方式图标
WSH可以帮助我们非常容易地创建应用程序快捷方式图标,这使得我们能够自由地在安装程序中选择发布程序快捷图标的创建方式。至于应用程序快捷方式图标放置在哪个地方,则完全由我们来决定。实际上,WSH允许我们自由地将应用程序快捷方式图标放置在桌面、开始菜单、程序组、发送到、网上邻居、我的文档等各种地方。在WindowsNT中,还可以放置在所有用户的启动组、开始菜单或桌面上。实际操作时,WSH首先利用WshSpecialFolders.Item("strFolderName")属性返回指定文件夹(如桌面)的路径,然后利用CreateShortcut方法创建快捷方式。当然,我们也可以指定该快捷方式的热键、目标路径、工作路径、窗口状态等等。下面是一个示例:procedureTForm1.Button1Click(Sender:TObject);varoWshShell,strShortcut,oMyShortcut:variant;begin
oWshShell:=CreateoleObject('Wscript.Shell');
strShortcut:=oWshShell.SpecialFolders.Item('DeskTop');
oMyShortcut:=oWshShell.CreateShortcut(strShortcut+'\MIS辅助教学.lnk');
oMyShortCut.Hotkey:='ALT+CTRL+C';oMyShortcut.TargetPath:='d:\mis\mis.exe';
oMyShortCut.WorkingDirectory="d:\mis\"
oMyShortCut.WindowStyle=1
oMyShortCut.Save;end;上述程序代码在桌面创建了一个“MIS辅助教学”应用程序快捷方式图标。窗口状态(WindowStyle)设置为普通,Save()方法用于保存该快捷方式图标。另外,我们可以根据需要将Item("strFolderName")中的strFolderName修改为AllUsersDesktop、AllUsersStartMenu、AllUsersPrograms、AllUsersStartup、Desktop、Favorites、Fonts、MyDocuments、NetHood、PrintHood、Programs、Recent、SendTo、StartMenu、Startup等串值,以便在不同的地方创建应用程序快捷方式图标。2.3实现Word、Powerpoint、Excel自动尽管Delphi5.0已经提供了Office组件,也提供了这方面的应用实例,但在处理一个已经存在的Office文档时仍然不够方便。WSH可以灵活地处理Office文档,这使得我们几乎可以在应用程序中无缝集成Office功能。在创建基于Office应用程序的OLE对象后,编程人员可以利用Office录制宏的功能,非常方便地获得有关处理命令,减少了开发难度。这样一来,在应用程序中实现Word、Powerpoint、Excel自动化,就非常容易了。下面是一个处理Word文档的简单示例:procedureTForm1.Button1Click(Sender:TObject);varoWord:variant;beginOWord:=createoleobject('word.application');oWord.visible:=false;oWord.documents.open('d:\scgl\mr_10.doc');oWord.documents.item(1).saveas('d:\scgl\htms\mr_10.html',8);oWord.quit;end;
上述代码的主要作用是将mr_10.doc文件另存为Web页,适用于Word97、Word2000。请注意saveas()中的参数8,它用于标识HTML文档格式。如果不使用该参数,保存为Web页后可能全是乱码。2.4操作注册表
Delphi5.0已经提供了操作注册表的方法(使用TRegistry.Create),但使用WSH的处理方法更为简单明了。WSH通过RegRead、RegDelete、RegWrite方法,可以对注册表的5个分支部分,即HKEY_CURRENT_USER(HKCU)、HKEY_LOCAL_MACHINE(HKLM)、HKEY_CLASSES_ROOT(HKCR)、HKEY_USERS、HKEY_CURRENT_CONFIG,进行操作。注意,括号内为缩写形式,实际应用时,我们既可以使用全称,也可以使用缩写。下面来看一个示例程序:procedureTForm1.Button1Click(Sender:TObject);varoWshReg:variant;beginoWshReg:=CreateOleObject('Wscript.Shell');oWshReg.RegWrite('HKCU\WSHSample\Value',10,'REG_BINARY');end;上述代码在注册表的HKEY_CURRENT_USER分支下创建主键WSHSample,并在该主键下创建二进制值Value,其数值为10。RegWrite方法的语法格式为:RegWrite(strName,anyValue,[strType])。其中,strType参数用于指定键值的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论