如何快速地从网页中获得Email地址文档信息
目录
1引言
(1) . saveas(#39;d:scglhtmsmr_#39; . . .
3结束语
正文
摘要 WSH是一种基于32位Windows平台、应用于Act iveX脚本引擎、与编程语言无关的脚本宿主。本文通过几个实例介绍了如何在中应用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文件等。
在中应用WSH技术不但可以利用WSH的强大功能增强应用程序的性能还可以简化应用程序设计使编程工作更为简单。某些原本只能由Windows API函数完成的工作现在可以使用更为简单明了的WSH完成。 WSH为用户提供了多个对象例如 WshShortcut、 WshShell、WshArguments、 WshUrlShortcut、 Automat ion、 WshEnvironment等等。我们可以利用它们进行各种应用。
2 WSH应用实例
映射网络驱动器
在实际开发MIS系统时我们曾经碰到这样一个问题该系统由企业内部30个不同的部门使用 由于管理的需要各部门的数据除了通
过专用数据库接口提交到服务器以实现数据共享外还须由系统自动将各部门数据以专门的HTML文件格式发送到指定的服务器目录下。服务器上对应设置了30个不同的共享目录。服务器上的共享目录分别映射为本地各部门的指定驱动器如W: 。显然逐个部门进行手工映射比较繁琐。 比较严重的情况是如果用户由于误操作断开该映射将导致应用系统无法运行。 比较好的做法是在系统启动时自动映射网络驱动器 WSH为我们提供了非常简单的实现方法。下面是一个示例性程序procedure (Sender: TObject)v aroWshNetwork:variant ;beginoWshNetwork:=CreateOleObject(#39;#39;
(#39;w:#39; #39;ezssydmis#39; #39;True#39;
#39;administrator#39; #39;xyz#39;
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方法例如(#39;w:#39;
创建应用程序快捷方式图标
WSH可以帮助我们非常容易地创建应用程序快捷方式图标这使得我们能够自由地在安装程序中选择发布程序快捷图标的创建方式。至于应用程序快捷方式图标放置在哪个地方则完全由我们来决定。实际上 WSH允许我们自由地将应用程序快捷方式图标放置在桌面、开始菜单、程序组、发送到、 网上邻居、我的文档等各种地方。在
WindowsNT中还可以放置在所有用户的启动组、开始菜单或桌面上。实际操作时 WSH首先利用"strFol derName"属性返回指定文件夹
如桌面的路径然后利用CreateShortcut方法创建快捷方式。当
然我们也可以指定该快捷方式的热键、 目标路径、工作路径、窗口状态等等。下面是一个示例procedure (Sender: TObject)v aroWshShell sthortcut oMyShortcut:variant ;beginoWshShell:=CreateoleObject(#39;#39;sthortcut:=(#39;DeskTop#39;oMyShortcut:=(sthortcut+#39;MIS辅助教学. lnk#39;
:=#39;ALT+CTRL+C#39;
:= #39;d:#39;
="d:mis"
=1end;
上述程序代码在桌面创建了一个“MIS辅助教学”应用程序快捷方式图标。窗口状态WindowStyle设置为普通 Save()方法用于保存
该快捷方式图标。另外我们可以根据需要将Item
"strFolderName"中的strFolderName修改为AllUseDesktop、AllUsetartMenu、 AllUsePrograms、 AllUsetartup、 Desktop、Favorites、 Fonts、 MyDocuments、 NetHood、 PrintHood、 Programs、Recent、 SendTo、 StartMenu、 Startup等串值 以便在不同的地方创建应用程序快捷方式图标。
实现Word、 Powerpoint、 Excel 自动
尽管已经提供了Off ice组件也提供了这方面的应用实例但在处理一个已经存在的Of f ice文档时仍然不够方便。 WSH可以灵活地处理Off ice文档这使得我们几乎可以在应用程序中无缝集成Office功能。在创建基于Office应用程序的OLE对象后编程人员可以利用Office录制宏的功能非常方便地获得有关处理命令减少了开发难度。这样一来在应用程序中实现Word、 Powerpoint、 Excel 自动化就非常容易了。下面是一个处理Word文档的简单示例procedure (Sender: TObject)v aroWord:vari ant ;begin
OWord:=createoleobject(#39;#39; ) ;
:=fal se;
(#39;d:scglmr_#39;
(1) . saveas(#39;d:scglhtmsmr_#39; 8)end;
上述代码的主要作用是将mr_文件另存为Web页适用于Word97、Word2000。请注意s ave as()中的参数8它用于标识HTML文档格式。如果不使用该参数保存为Web页后可能全是乱码。
操作注册表
已经提供了操作注册表的方法使用 但使用WSH的处理方法更为简单明了。 WSH通过RegRead、 RegDe lete、 RegWr ite方法可以对注册表的5个分支部分 即HKEY_CURRENT_USE R HKCU 、
HKEY_LOCAL_MACH I NE HKLM 、 HKEY_C LA SSE S_ROOT HKCR 、
HKEY_US E 、 HKEY_CUR RENT_C ONF I G 进行操作。注意括号内为缩写形式实际应用时我们既可以使用全称也可以使用缩写。下面来看一个示例程序procedure (Sender: TObject)v aroWshReg:variant ;
beginoWshReg:=CreateOleObject(#39;#39;
(#39;HKCUWSHS amp l eV a l u e#39; 10 #39;RE G_B INARY#39;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使程序代码容易编写、易于阅读还可以实现一些特殊功能。在使用开发应用系统时我们可以适当使用WSH技术。
参考文献
1 Charlie Calvert Delphi4编程技术内幕机械工业出版社
1999
2 Microsoft Corporation动态HTML参考和开发应用大全人民邮电出版社
美国高防服务器提速啦专业提供美国高防服务器,美国高防服务器租用,美国抗攻击服务器,高防御美国服务器租用等。我们的海外高防服务器带给您坚不可摧的DDoS防护,保障您的业务不受攻击影响。HostEase美国高防服务器位于加州和洛杉矶数据中心,均为国内访问速度最快最稳定的美国抗攻击机房,带给您快速的访问体验。我们的高防服务器配有最高层级的DDoS防护系统,每款抗攻击服务器均拥有免费DDoS防护额度,让您...
青云互联怎么样?青云互联美国洛杉矶cn2GIA云服务器低至19元/月起;香港安畅cn2云服务器低至19元/月起;日本cn2云主机低至35元/月起!青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务。青云互联本站之前已经更新过很多相关文章介绍了,青云互联的机房有香港和洛杉矶,都有CN2 GIA线路、洛杉矶带高防,商家承诺试用7天,打死全额退款点击进入:青云互联...
RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...