当前位置: 移动技术网 > IT编程>脚本编程>VBScript > 用vbs列出机器上所有能调用的组件

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
'要用到regtool.ocx,请下载,用前请regsvr32   regtool.ocx  set wshshell&n
'要用到regtool.ocx,请下载,用前请regsvr32   regtool.ocx 

set wshshell = createobject("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 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网