vbs TLI.TLIApplication 被遗忘的COM组件

曾经一直很好奇VbsEdit的代码自动补全是怎么实现的,现在看来,大约的确用的就是这个COM。

比如我想知道scrrun.dll(提供fso对象的dll)这个COM组件提供了哪些接口,可以用下面的代码:


代码如下:

Set tli = CreateObject("TLI.TLIApplication")
Set Info = tli.TypeLibInfoFromFile("scrrun.dll")
For Each Interface In Info.Interfaces
WScript.Echo Interface.Name
Next

或者我忘记了fso对象有哪些属性和方法,而又没有参考文档,可以用下面的代码:


代码如下:

Dim fso
Set fso = CreateObject("scripting.filesystemobject")
Set tli = CreateObject("TLI.TLIApplication")
Set Info = tli.ClassInfoFromObject(fso)
For Each Member In Info.DefaultInterface.Members
WScript.Echo Member.Name
Next

时间和篇幅有限,举的例子比较简单,更详细的请查阅文档(参考链接2为下载地址)。
考链接:

  1. RunTime COM Object Inspection
  2. FILE: Tlbinf32.exe : Help Files for Tlbinf32.dll

原文:http://demon.tw/programming/tli-tliapplication.html

(0)

相关推荐

  • C# 无需COM组件创建快捷方式的实现代码

    看了一下手中的一些小工具, 很多都是单文件但可以创建快捷方式, 于是翻遍 Google, 最后终于在俄罗斯论坛 RSDN 找到了一个很强大的类. 类文件下载: http://asen.googlecode.com/files/Shortcut.cs (无注释精简版)RSDN 原帖: http://www.rsdn.ru/forum/src/3098615.flat.aspx (带英文注释) 使用方法很简单, 把这个文件添加到你的项目中, 然后用法跟 COM 组件那个类似, 但稍有不同: 复制代码

  • 用JavaScript编写COM组件的步骤

    支持这些接口的脚本语言有:JavaScript/JScript.VBScript.Perl和Python等. WSC有以下特点.  小巧高效:  易于创建.维护和部署:  提供了创建COM部件的能力:  提供了访问大量系统服务的能力. 用JavaScript编写COM组件的核心工作是完成一个.wsc(Windows Scripting Component)文件..wsc文件是一种标准的XML文件,其格式如下: <?xml version="1.0" encoding=&q

  • c#创建vc可调用的com组件方法分享

    开发工具:VS2008 VS2008命令提示符(呵呵,这个你应该可以找到在什么地方吧) 附:本文适用任何VS系列工具. 在用C#创建COM时,一定要记住以下几点: 1:所要导出的类必须为公有: 2:所有属性.方法也必须为公有: 3:要导出的属性.方法必须用接口方式:如果没有在接口中声明,即使该方法(属性)为公有,也不能正常导出到COM.但他们可以被别的.NET程序所使用: 4:所有的事件也必须用接口方式: 现在我们开始正题: 一.新建一个Visual C#工程(习惯这种叫法了,现在应该叫解决方案

  • vbs TLI.TLIApplication 被遗忘的COM组件

    曾经一直很好奇VbsEdit的代码自动补全是怎么实现的,现在看来,大约的确用的就是这个COM. 比如我想知道scrrun.dll(提供fso对象的dll)这个COM组件提供了哪些接口,可以用下面的代码: 复制代码 代码如下: Set tli = CreateObject("TLI.TLIApplication") Set Info = tli.TypeLibInfoFromFile("scrrun.dll") For Each Interface In Info.I

  • VBS获取文件MD5值(无组件)

    下面这个代码不需要组件一样可以获取MD5值. 复制代码 代码如下: Option ExplicitDim wiDim fileDim file_sizeDim file_attributesDim file_versionDim file_hashSet wi = CreateObject("WindowsInstaller.Installer")file = "111.exe"file_size = wi.FileSize(file)file_attributes

  • vbs能调用的系统对象小结

    vbs能调用系统对象: 文件系统对象相关: ("scripting.filesystemobject") 字典相关: ("scripting.dictionary") 脚本外壳相关: ("wscript.shell") windows外壳相关: ("shell.application") 正则表达式相关: ("vbscript.regexp") asp相关: ("mswc.adrotator&qu

  • VBS字符串的内部实现

    最近对 VBS 字符串 Chr(0) 注①截断讨论得比较多,看来有必要介绍一下 VBS 字符串的内部实现.Demon 友情提示:本文需要一些 C 语言和 Windows 编程的知识,VBScript 初学者慎入. VBS 是基于微软的 ActiveX/COM 技术实现的,而 COM 对象为了做到支持任何语言,定义了一系列通用的数据类型,微软称之为自动化对象类型(Automation data types),其中之一就是 BSTR.VBS 在内部是以 BSTR 来表示字符串的,BSTR 在 WTy

  • 用vbs列出机器上所有能调用的组件

    '要用到regtool.ocx,请下载http://www.jb51.net/jslib/regtool.ocx,用前请regsvr32   regtool.ocx set wshshell = CreateObject("WScript.Shell")  set registry = CreateObject("regtool.tob")  '获取一个dictionary对象存储键名  set dict = CreateObject("Scripting

  • VBS获取GZIP压缩的HTTP内容的实现代码

    不少网站为了提高加载速度,启用HTTP服务器的GZIP压缩功能,当客户端发送的HTTP请求中声明可以接受GZIP编码时,服务器自动对HTTP响应内容进行GZIP压缩.但是,在VBS中想自动对GZIP编码进行解压就没有那么容易了. 不同组件对GZIP压缩的处理不尽相同,首先看Msxml2.XMLHTTP: 'By Demon 'http://demon.tw Dim http Set http = CreateObject("Msxml2.XMLHTTP") http.open &quo

  • VBS伪造HTTP-REFERER的实现方法

    在测试目录写了一个简单的referer.php,代码如下 复制代码 代码如下: <?php if (!isset($_SERVER["HTTP_REFERER"])) echo "No Referer"; else echo $_SERVER["HTTP_REFERER"]; ?> 如果直接点击上面的链接,那么页面会显示referer页面的链接. 复制代码 代码如下: Set http = CreateObject("msx

  • 注册表危险组件删除功能批处理

    把这个存成bat文件运行,保你服务器最基本的安全! 复制代码 代码如下: :: 注册表相关设定 reg delete HKEY_CLASSES_ROOT\WScript.Shell /f reg delete HKEY_CLASSES_ROOT\WScript.Shell.1 /f reg delete HKEY_CLASSES_ROOT\Shell.application /f reg delete HKEY_CLASSES_ROOT\Shell.application.1 /f reg de

  • 由vbs sort引发.NET Framework之间的关系说明

    如果问题就这么结束,那么也就不会有这篇文章.怪我手贱,在Google中输入"vbs sort",回车,看到一段代码,顿时泪流满面. 复制代码 代码如下: Set outputLines = _ CreateObject("System.Collections.ArrayList") 'add lines outputLines.Add output outputLines.Add output outputLines.Sort() For Each outputLi

  • vbs脚本 加密 几个小细节小结下

    复制代码 代码如下: dxy:      你好!      我学vbs也有一小段时间了,最近看到一本书上讲vbs脚本的加密,就自己试了试,可是有一点问题,低级的语法错误我都自己修正了,可脚本运行后不起作用.所以想请教你一下.脚本的原理是这样的:它把代码转换成16进制,然后再写个解密代码,通过这个解密来执行加密的代码,将字符串成16进制的代码如下:  Function str2hex (Byval strHex)  For i=1 to Len(strHex)  sHex = sHex & Hex

随机推荐