'要用到regtool.ocx,请下载regtool.ocx,用前请
regsvr32 regtool.ocx
核心代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
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 |
到此这篇关于用vbs列出机器上所有能调用的组件的文章就介绍到这了,更多相关vbs 组件内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!