当前位置 博文首页 > 用vbs列出机器上所有能调用的组件

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

    作者:admin 时间:2021-02-18 18:38

    '要用到regtool.ocx,请下载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 vdp 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 
    
    js
    下一篇:没有了