'要用到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 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
到此這篇關(guān)于用vbs列出機器上所有能調(diào)用的組件的文章就介紹到這了,更多相關(guān)vbs 組件內(nèi)容請搜索武林網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持武林網(wǎng)!
新聞熱點
疑難解答