当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 用vbs列出机器上所有能调用的组件

VBScript
利用vbs脚本实现设置IE的打印页眉页脚信息
两个vbs脚本利用了wscirpt.network
一次载入2个vbs脚本的方法
一个可以更换windows xp or 2003的序列号的vbs脚本
利用VBS脚本自动创建计算机帐户的代码
利用VBS脚本轻松盗U盘数据
脚本-学习VBS的一个不错的教程
什么是 WSH(脚本宿主)的详细解释
WSH 5.6(脚本宿主) 的新增功能
雷客图ASP站长安全助手vbs测试版代码
ntiIframe.vbs用于批量清除被添加到文件中的恶意代码
用vbs控制iis创建虚拟目录的代码
vbscript自动配置IIS的代码
使用ADSI、ASP和一对魔术戏法自动地创立一个虚拟目录的方法
妙用VBScript自制IE工具栏按钮的代码
利用vbs类实现css按钮的代码
VBS中转换二进制数据为字符串常用办法
提供个可以显示农历的VBS代码
在一个vbs中包含其他vbs文件的方法
用vbs实现定时运行web文件的方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 121 ::
收藏到网摘: n/a

'要用到regtool.ocx,请下载http://www.ruanchen.com/"WScript.Shell")
set registry = CreateObject("regtool.tob")
'获取一个dictionary对象存储键名
set dict = CreateObject("Scripting.Dictionary")
'列举HKEY_CLASSES_ROOT中所有键
set allkeys = registry.RegEnum("HKCR\")
'排除所有键中键名有点的。
for each key in allkeys
'第1个点在哪儿(跳过初始点)?
pos = Instr(2, key, ".")
if pos>0 then
'there's a dot. Is there another one?
pos2 = Instr(pos+1, key, ".")
if pos2>0 then
'yes, so this name is version specific
'check whether we already have a
'version-independent progid!
independent = left(key, pos2-1)
if not dict.Exists(independent) then
'no, store it
dict.Add key, 0
end if
else
'this one is version-independent.
'do we already have a version-dependent
'progID in store?
vdpid = ""
for each element in dict
if len(element)>len(key) then
if left(element, len(key)+1)=key & "." then
'yes, return name
vdpid = element
exit for
end if
end if
next
'any version dependent progID found?
if vdpid="" then
'no, add to store
dict.add key, 0
else
'yes, replace
dict.Remove vdpid
dict.add key, 0
end if
end if
end if
next
MsgBox dict.Count & " Objects found!"
for each key in dict
list = list & key & vbCrlf
next
MsgBox list
outputfile = "C:\OBJECT.TXT"
set fs = CreateObject("Scripting.FileSystemObject")
set output = fs.CreateTextFile(outputfile, true)
print dict.Count & " Objects found!"
Print list
output.close
wshshell.run outputfile
sub Print(text)
'写信息到记录文件
output.WriteLine text
end sub