如何快速地从网页中获得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的精确套打技术研究
Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...
官方网站:点击访问华纳云活动官网活动方案:一、香港云服务器此次推出八种配置的香港云服务器,满足不同行业不同业务规模的客户需求,同时每种配置的云服务都有不同的带宽选择,灵活性更高,可用性更强,性价比更优质。配置带宽月付6折季付5.5折半年付5折年付4.5折2年付4折3年付3折购买1H1G2M/99180324576648直达购买5M/17331556710081134直达购买2H2G2M892444...
昔日数据怎么样?昔日数据是一个来自国内服务器销售商,成立于2020年底,主要销售国内海外云服务器,目前有国内湖北十堰云服务器和香港hkbn云服务器 采用KVM虚拟化技术构架,湖北十堰机房10M带宽月付19元起;香港HKBN,月付12元起; 此次夏日活动全部首月5折促销,有需要的可以关注一下。点击进入:昔日数据官方网站地址昔日数据优惠码:优惠码: XR2021 全场通用(活动持续半个月 2021/7...