首页 电脑 电脑学堂 查看内容

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

2009-9-25 16:43 694 0

摘要:   列出机器上vbs所有能调用的组件   set wshshell = CreateObject("WScript.Shell")   set registry = CreateObject("r...

  列出机器上vbs所有能调用的组件   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
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部