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

VBScript
vbs 列出该目录下所有文件和文件夹的类型,大小,和所有者
雷客图 站长安全助手 vbs版代码(asp 木马查找)
discuz 任意管理员密码漏洞利用工具 vbs代码
添加网站到安全站点.设置安全站点打开ActiveX时提示.去页眉页脚的vbs代码
文件夹定时自动备份 AutoBackUpFolder.vbs
iis PHP安装脚本 PHPInstall.vbs V3.1
HTA文件去除html控件认证和接收命令行参数
vbs 更改环境变量
excel2access vbs脚本
VBS 下载方法(CDO.MESSAGE)
vbs实现myipneighbors 域名查询结果整理
修改 Gateway和DNS的vbs脚本
VBS sendkeys 模拟击键操作 问题解决
用vbscript来添加ip策略 自动封IP
vbs,hta中选择文件夹对话框实现代码
WMI 脚本高手不完全手册
vbscript语句中“&H”专用于16进制数表示
URL 筛选小工具 提取网页中的链接地址
VBScript 文件操作代码小结
vbs 错误捕获器,用于捕获内部错误并进行手工处理

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 113 ::
收藏到网摘: 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