---- 什么是Shell对象?具体来讲,就是微软对一些常用外壳操作函数的封装。象打开或浏览一个文件夹、查找文件、关闭计算机等等,而且还能浏览整个文件系统,获取文件或文件夹的各种信息。由于这些封装是建立在OLE自动化服务的基础之上,所以我们就可以在VB和Web中方便的使用它们。
---- 在VB中使用
---- VB自身所提供的对象或函数的功能也许比较有限,但能够引用各式各样的类型库和自动化对象就将其功能无限的扩展了!具体做法如下(以中文VB6为例):
---- 新建一个工程,在“工程”菜单中选择“引用”,你将看到一个“引用对话框”,然后在“可用的引用”中选择“Microsoft Shell Controls and Automation”,这样你就可以在程序中使用Shell对象了。
---- 下面来试一试Shell对象提供的方法。在窗体(Form1)中添加一个按扭(Button1),然后在Button1的Click事件中添加如下代码:
Dim MyShell As Shell
Set MyShell = New Shell
MyShell.FindFiles
---- 当MyShell变量成为Shell对象的实例之后,你在编辑的过程中就可以看到Shell对象的所有方法。上面的代码使用的是FindFiles方法,它将显示“查找文件”对话框。下表给出了Shell对象中常用的方法,以供大家参考。
---- 方法 描述
---- BrowseForFolder 显示浏览文件夹对话框,包括4个参数:
---- Hwnd, Title, Options, [RootFolder]
---- Hwnd:包含对话框的窗体句柄(handle),一般设置为0。 Title:将在对话框中显示的说明,为字符串。
---- Options:使用对话框的特殊方式,为长整数,一般设置为0。
---- [RootFolder]:可选的,用来设置浏览的最顶层文件夹,缺省时为“桌面”,你可以将其设置为一个路径或“特殊文件夹常数”。
---- 该方法返回一个Folder对象。
---- ControlPanelItem 运行一个指定的控制面板项目,包括一个参数:
---- szDir:控制面板项目名
---- Explore 用资源管理器浏览一个指定文件夹,包括一个参数:
---- vDir:一个路径或“特殊文件夹常数”
---- Open 打开一个指定文件夹,包括一个参数:
---- vDir:一个路径或“特殊文件夹常数”
---- FileRun 显示“运行”对话框
---- FindComputer 显示“查找计算机”对话框
---- FindFiles 显示“查找文件”对话框
---- CascadeWindows 层叠排列桌面上所有窗口
---- TileHorizontally 横向排列桌面上所有窗口
---- TileVertically 纵向排列桌面上所有窗口
---- MinimizeAll 最小化所有窗口
---- UndoMinimizeALL 恢复最小化的窗口
---- EjectPC 注销当前用户
---- Suspend 将计算机挂起
---- ShutdownWindows 显示“关闭Windows”对话框
---- NameSpace 用所给的文件夹路径创建一个文件夹对象(Folder对象),使用Folder对象,你可以浏览整个文件系统,获取文件或文件夹的各种信息。
---- 表中出现了“特殊文件夹常数”,那什么是特殊文件夹,象“我的电脑”,“控制面板”等等,在系统中是找不到相应目录的,还有“桌面”、“收藏夹”等一些Windows安装后就产生的文件夹,也是特殊文件夹(0x表示16进制)。
桌面:ssfDESKTOP = 0x0000
文档:ssfSENDTO = 0x0009
收藏夹:ssfFAVORITES = 0x0006
打印机:ssfPRINTERS = 0x0004
我的电脑:ssfDRIVES = 0x0011
控制面板:ssfCONTROLS = 0x0003
网络邻居:ssfNETWORK = 0x0012
---- 有了这些提示和参考,再加上你的想象,一定能让VB编出程序增色不少。
---- 在Web页面中使用
---- 由于IE4及其以后的版本都能很好的支持ActiveX,你可以在Web页面插入各式各样ActiveX,因此也能使用Shell对象。
---- 在HTML4中可以使用< Object >标识引用Shell对象,具体的HTML代码如下:
< html >
< head >
< title >Shell对象测试< /title >
< meta http-equiv="Content-Type"
content="text/html; charset=gb2312" >
< /head >
< body bgcolor="#FFFFFF" >
< object classid=CLSID:13709620-C279-11CE-
A49E-444553540000 id=Shell >
< /object > Shell对象测试
< p >
< input type="button" name="Button" value="显示"
onclick="test.innerText =
Shell.BrowseForFolder(0,'请选择一个文件夹',0);" >
< /p >
< p >< span id=test >< /span >< /p >
< /body >
< /html >
---- 你只需新建一个文本文件,将以上代码写入新文件中,再另存为以htm为扩展名的文件即可。当运行该Web页后,你将看到一个名为“显示”的按扭,单击就会出现“浏览文件夹”对话框。
---- 该段代码的关键就是< object classid=CLSID:13709620-C279-11CE-A49E-444553540000 id=Shell >。其中classid是Shell对象的CLSID号,id是Shell对象实例的名称,通过这个名称就可以使用Shell对象的各种方法。
---- 由Shell对象创建的Folder对象
---- 在上面的事例和参考中,总有一个Folder对象,那如何使用该对象呢?一个Folder对象包含了一个指定文件夹的所有信息:子目录,其中的文件等等。使用items方法可以返回一个文件夹项目集合(FolderItems集合),这个集合里有指定目录中的所有子目录和文件。
---- FolderItems集合有一个count属性,可以通过它得到子目录和文件总数,这样你就能用一个“循环语句”历遍目录下的所有项目。同时你就可以用item方法返回一个FolderItem对象,对一个文件夹或文件进行操作,item方法有一个可选长整数参数,用来对集合中的项目索引。有了FolderItem对象,就能得到文件夹和文件的各种信息。FolderItem对象有如下主要属性:
GetFolder :如果项目是文件夹,就得到一个Folder对象
IsBrowsable :如果可以浏览就为True,否则为False
IsFileSystem :如果是系统文件夹或文件就为True,否则为False
IsFolder :如果是文件夹就为True,否则为False
ModifyDate :访问或更改的日期
Name :文件或目录名
Path :文件或目录的路径
Size :文件的大小
Type :文件的类型
---- 下面是Folder对象的示例。
---- 在VB中使用:在先前的窗体中加入一个新按扭(Button2)和一个列表框(List1),再在Button2的Click事件中加入如下代码:
Dim MyShell As Shell
Dim myFolder, myFolders
Set MyShell = New Shell
Set myFolder = MyShell.BrowseForFolder
(Form1.hWnd, "请选择一个文件夹", 0)
Set myFolders = myFolder.Items()
List1.Clear
For i = 0 To myFolders.Count - 1
List1.AddItem myFolders.Item(i).Name
Next I
---- 在Web页中使用:将以下代码加入上一节示例中< head >< /head >之间,再把onclick="test.innerText = Shell.BrowseForFolder(0,'请选择一个文件夹',0);"换为onclick="test.innerHTML = ShowItem();",就能运行了!
< script language="JavaScript" >
function ShowItem()
{
var myFolder, myFolders;
var s = "";
myFolder = Shell.BrowseForFolder(0,"请选择一个文件夹",0);
myFolders = myFolder.items();
for (var i = 0;i < myFolders.count;i++)
s += myFolders.item(i).name + "< br >";
return(s)
}
< /script >
分享到:
相关推荐
WebBrowser控件允许开发者在VB应用程序中嵌入一个完整的Web浏览器环境。通过它,你可以加载、显示和交互式地控制HTML文档。WebBrowser控件提供了一系列的方法和属性,可以帮助我们完成各种网页操作任务。 #### 实现...
WScript对象是VB Script中用于与操作系统进行交互的关键组件,如WScript.Shell对象可以执行系统命令,WScript.Network对象可以获取网络信息,WScript.FileSystemObject则用于文件和目录操作。 9. **VBS与HTML结合*...
它被广泛应用于Web页面、桌面应用和服务器端脚本中。VBScript具有简单的语法结构,易于学习和使用。 ### WScript.Shell对象详解 `WScript.Shell`对象是Windows Scripting Host (WSH) 的一部分,提供了对操作系统...
在本资源中,我们主要关注的是使用Visual Basic 6(VB6)开发的简单音频播放器的源码,以及利用VBScript(vbs)进行音频播放的代码。Visual Basic是微软公司推出的一种面向对象的编程语言,常用于快速开发Windows...
在VBScript中,使用Function和Sub关键字定义函数和过程。内置函数如MsgBox用于弹出对话框,InputBox用于获取用户输入。 四、错误处理 VBScript中的错误处理通常通过On Error语句进行,可以设置为在发生错误时立即...
比如,WScript对象提供与Windows脚本宿主交互的功能,如MsgBox用于显示消息框,WScript.Shell对象则可以用来执行外部命令或操作注册表。 VBScript在Web开发中的应用主要体现在ASP上,通过将VBScript代码嵌入HTML...
3. **创建表格**:在VBScript中,可以使用HTML和DOM(文档对象模型)来创建表格。通过操纵HTML元素,如`<table>`, `<tr>`, `<td>`等标签,可以构建和修改表格内容。 4. **查找字段**:VBScript可以利用字符串处理...
10. **脚本调试**:学习如何设置断点,使用WScript.Shell对象的Echo方法输出调试信息,以及使用Visual Studio或其他IDE进行脚本调试。 这份《VBScript帮助使用手册》以CHM(Compiled HTML Help)格式呈现,是一种...
例如,通过WScript.Shell对象,可以执行操作系统命令,管理文件和目录;使用FileSystemObject,可以读写文件,创建、删除或移动文件和文件夹。 在VBScript中,错误处理机制是通过On Error语句来实现的,可以设置为...
标题中的“弹出新窗口时用自己的窗口代替IE窗口”指的是在VB(Visual Basic)编程中,如何在打开新的浏览器窗口时,使用自定义的窗体(Form)而不是默认的Internet Explorer(IE)窗口来显示内容。这通常涉及到...
VBScript(Visual Basic Scripting Edition)是一种轻量级的、解释型的编程语言,主要用于Windows环境,特别是Web页面和批处理脚本。它基于Visual Basic语法,并且在ActiveX Scripting环境中运行,如Windows Script ...
VBScript(Visual Basic Script Edition)是一种轻量级的脚本语言,主要应用于Windows环境,尤其在Web开发和自动化任务中有着广泛的应用。本基础教程旨在为初学者提供全面且深入的VBScript学习指导。 首先,...
VBScript支持事件驱动编程,例如在HTML页面中使用`<script language="vbscript">`编写脚本响应用户操作。 7. **兼容性和局限性** VBScript主要在Windows环境下运行,IE浏览器和其他基于IE内核的浏览器支持其在...
VBScript(Visual Basic Script Edition)是一种轻量级的脚本语言,主要应用于Windows环境,尤其在Web开发中,常用于创建动态网页。它是基于Visual Basic语法的,因此对于熟悉VB的开发者来说,学习VBScript相对容易...
2. **对象模型**:VBS的强大之处在于它能够访问Windows操作系统的对象模型,如WScript.Shell用于执行命令行操作,FileSystemObject用于文件和目录的操作,以及Scripting.Dictionary用于创建和操作字典数据结构。...
2. **对象模型**:理解VBScript中的对象和对象模型,如在ASP中的Request、Response、Session、Application等对象,以及在WSH中的WScript.Shell、FileSystemObject等。 3. **错误处理**:学习Try...Catch语句,用于...
### QTP模拟鼠标和键盘事件整理 #### 一、模拟鼠标事件 在自动化测试领域,尤其是使用QTP(Quick Test Professional)工具时,模拟鼠标...在实际应用中,根据具体的需求选择合适的方法将有助于提高测试效率和准确性。