如何快速地从网页中获得Email地址目录
1引言
2. 1映射网络驱动器
2. 2创建应用程序快捷方式图标
2. 3实现Word、 Powerpoint、 Excel 自动
(1) . saveas('d:scglhtmsmr_10.html' 8)
2.4操作注册表
3结束语
正文
摘要 WSH是一种基于32位Windows平台、应用于Act iveX脚本引擎、与编程语言无关的脚本宿主。本文通过几个实例介绍了如何在Delphi5.0中应用WSH技术
关键词Delphii WSH脚本执行和辅助功能
1引言
微软公司的WSH(Windows Scripting Host)是一种基于32位Windows平台、应用于ActiveX脚本引擎、与编程语言无关的脚本宿主。 WSH具有良好的脚本语言支持特性它支持VBScri pt、javascr ipt、 Perl、 REXX等各种脚本语言。 WSH的运行方式较为灵活既可以在Windows中运行也可以在DOS命令模式下启动。微软已经在Windows98、 Windows2000中内置了WSH技术。
WSH对象模型主要包含了两类ActiveX接口:脚本执行和辅助功能。每类接口提供多种WSH对象各对象有自己的方法和属性。脚本执行接口提供了许多属性和方法。这类接口允许脚本操作处理WSH在屏幕上显示特定信息执行一些基本功能如创建Word应用程序对象 。辅助功能接口也提供了丰富的属性和方法供用户使用。利用这些属性和方法我们可以进行各种操作例如映射网络驱动器、连接远程打印机、获取编辑系统环境变量如用户名、计算机名、域名等等 、操作注册表等。系统管理员可以利用这些辅助功能创建简单的登录脚本。程序编写者可以利用这些由WSH提供的对象接口在基于
Windows的平台上执行各种自动化任务例如启动Word、 Excel、Powerpo int任务打开CAD文件等。
2 WSH应用实例
2. 1映射网络驱动器
在实际开发MIS系统时我们曾经碰到这样一个问题该系统由企业内部30个不同的部门使用 由于管理的需要各部门的数据除了通过专用数据库接口提交到服务器以实现数据共享外还须由系统自动将各部门数据以专门的HTML文件格式发送到指定的服务器目录下。服务器上对应设置了30个不同的共享目录。服务器上的共享目录分别映射为本地各部门的指定驱动器如W: 。显然逐个部门进行手工映射比较繁琐。 比较严重的情况是如果用户由于误操作断开该映射将导致应用系统无法运行。 比较好的做法是在系统启动时自动映射网络驱动器 WSH为我们提供了非常简单的实现方法。下面是一个示例性程序procedure TForm1.FormCreate(Sender: TObject)v aroWshNetwork:vari ant ;beginoWshNetwork:=CreateOleObject('Wscript.Network'
oWshNetwork.MapNetworkDrive('w: ' '\ezssydmis' 'True' 'administrator' 'xyz'
End;
程序首先创建基于WSH的OLE对象然后映射服务器ezss上的共享目录ydmi s为W: 。 MapNetworkDrive方法的语法格式为
MapNetworkDri ve strLocalName strRemot eName
[bUpdateProfi le] [strUser] [strPassword]
各参数含义简要说明如下strLocalName映射到本地的驱动器名称。s trRemo teName映射的远程共享名。bUpdateProf i l e如果本参数设置为TRUE这种映射将存储在用户Windows系统的profi les文件夹下作为用户配置保留。strUser、 strPassword指定受托共享的用户名和密码。
若要断开该映射可以使用RemoveNetworkDri ve方法例如oWshNetwork.RemoveNetworkDri ve('w:
2.2创建应用程序快捷方式图标
WSH可以帮助我们非常容易地创建应用程序快捷方式图标这使得我们能够自由地在安装程序中选择发布程序快捷图标的创建方式。至于应用程序快捷方式图标放置在哪个地方则完全由我们来决定。实际上 WSH允许我们自由地将应用程序快捷方式图标放置在桌面、开始菜单、程序组、发送到、 网上邻居、我的文档等各种地方。在
WindowsNT中还可以放置在所有用户的启动组、开始菜单或桌面上。实际操作时 WSH首先利用WshSpecialFolde. Item
"s trFolderName"属性返回指定文件夹如桌面的路径然后利用CreateShortcut方法创建快捷方式。当然我们也可以指定该快捷方式的热键、 目标路径、工作路径、窗口状态等等。下面是一个示例procedure TForm1.Button1Click(Sender: TObject)v aroWshShell sthortcut oMyShortcut:variant ;beginoWshShell:=CreateoleObject('Wscript.Shell'sthortcut:=('DeskTop'oMyShortcut:=oWshShell.CreateShortcut(sthortcut 'MIS辅助教学. lnk'
oMyShortCut.Hotkey:='ALT CTRL C'oMyShortcut.TargetPath:= 'd:mismis.exe'oMyShortCut.WorkingDirectory="d:mi s"oMyShortCut.WindowStyl e=1oMyShortCut.Save;end;
上述程序代码在桌面创建了一个“MIS辅助教学”应用程序快捷方式图标。窗口状态WindowStyle设置为普通 Save()方法用于保存该快捷方式图标。另外我们可以根据需要将Item
"strFolderName"中的strFolderName修改为AllUseDesktop、AllUsetartMenu、 AllUsePrograms、 AllUsetartup、 Desktop、Favorites、 Fonts、 MyDocuments、 NetHood、 PrintHood、 Programs、Recent、 SendTo、 StartMenu、 Startup等串值 以便在不同的地方创建应用程序快捷方式图标。
2.3实现Word、 Powerpoint、 Excel自动
尽管Delphi5.0已经提供了Office组件也提供了这方面的应用实例但在处理一个已经存在的Off i ce文档时仍然不够方便。 WSH可以灵活地处理Office文档这使得我们几乎可以在应用程序中无缝集成Off ice功能。在创建基于Office应用程序的OLE对象后编程人
员可以利用Office录制宏的功能非常方便地获得有关处理命令减少了开发难度。这样一来在应用程序中实现Word、 Powerpoint、Excel 自动化就非常容易了。下面是一个处理Word文档的简单示例procedure TForm1.Button1Click(Sender: TObject)v aroWord:vari ant ;begin
OWord:=createoleobject('word.application' ) ;oWord.visible:=false;
('d:scglmr_10.doc'
(1) . saveas('d:scglhtmsmr_10.html' 8)oWord.quit;end;
上述代码的主要作用是将mr_10.doc文件另存为Web页适用于Word97、 Word2000。请注意savea s()中的参数8它用于标识HTML文档格式。如果不使用该参数保存为Web页后可能全是乱码。
2.4操作注册表
Delphi5.0已经提供了操作注册表的方法使用
TRegistry.Create 但使用WSH的处理方法更为简单明了。 WSH通过RegRead、 RegDelete、 RegWr ite方法可以对注册表的5个分支部分 即HKEY_CURRENT_U SER HKCU 、 HKEY_LO CAL_MACH I NE HKLM 、HKEY_CLASS ES_ROOT HKCR 、 HKEY_US E 、 HKEY_CURRENT_CONFIG
进行操作。注意括号内为缩写形式实际应用时我们既可以使用全称也可以使用缩写。下面来看一个示例程序procedure TForm1.Button1Click(Sender: TObject)v aroWshReg:variant ;beginoWshReg:=CreateOleObject('Wscript.Shell'oWshReg.RegWr i te('HKCUWSHSampleVal ue' 10 'REG_BINARY'end;
上述代码在注册表的HKEY_CURRENT_U SER分支下创建主键
WSHSamp le并在该主键下创建二进制值Va lue其数值为10。
RegWrite方法的语法格式为 RegWri te s trName anyValue
[strType] 。其中 strType参数用于指定键值的数据类型可以是REG_DWO RD、 RE G_B INA RY、 RE G_SZ等等。
3结束语
总的看来 WSH使程序代码容易编写、易于阅读还可以实现一些特殊功能。在使用D e lphi 5.0开发应用系统时我们可以适当使用WSH技术。论文出处(作者)
自然辩证法和计算机语言发展
PowerBu i lder的精确套打技术研究
ftech怎么样?ftech是一家越南本土的主机商,成立于2011年,比较低调,国内知道的人比较少。FTECH.VN以极低的成本提供高质量服务的领先提供商之一。主营虚拟主机、VPS、独立服务器、域名等传统的IDC业务,数据中心分布在河内和胡志明市。其中,VPS提供1G的共享带宽,且不限流量,还可以安装Windows server2003/2008的系统。Ftech支持信用卡、Paypal等付款,但...
Megalayer 商家算是比较新晋的国内主机商,主要方向是美国、香港、菲律宾等机房的独立服务器为主,以及站群服务器和显卡服务器。同时也有新增价格并不是特别优惠的VPS云服务器。上午的时候有网友问问有没有CN2线路的美国独立服务器的,这里我推荐他选择Megalayer看看,目前也是有活动截止到月底的。Megalayer 商家创办2年左右时间,如果我们初次使用建议月付体验。目前在进行且可能截止到6月...
前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...