用vbs列出機(jī)器上所有能調(diào)用的組件
'要用到regtool.ocx,請(qǐng)下載regtool.ocx,用前請(qǐng)
regsvr32 regtool.ocx
核心代碼
set wshshell = CreateObject("WScript.Shell")
set registry = CreateObject("regtool.tob")
'獲取一個(gè)dictionary對(duì)象存儲(chǔ)鍵名
set dict = CreateObject("Scripting.Dictionary")
'列舉HKEY_CLASSES_ROOT中所有鍵
set allkeys = registry.RegEnum("HKCR\")
'排除所有鍵中鍵名有點(diǎn)的。
for each key in allkeys
'第1個(gè)點(diǎn)在哪兒(跳過(guò)初始點(diǎn))?
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)
'寫(xiě)信息到記錄文件
output.WriteLine text
end sub
到此這篇關(guān)于用vbs列出機(jī)器上所有能調(diào)用的組件的文章就介紹到這了,更多相關(guān)vbs 組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用vbs將名稱(chēng)轉(zhuǎn)換為正確的大小寫(xiě)的代碼
用vbs將名稱(chēng)轉(zhuǎn)換為正確的大小寫(xiě)的代碼...2007-03-03
可以修改腳本自身運(yùn)行次數(shù)的vbs(Self modifying script)
通過(guò)腳本修改腳本的內(nèi)容,這里以統(tǒng)計(jì)腳本運(yùn)行次數(shù)為例,想學(xué)習(xí)vbs的朋友可以參考下2013-08-08
VBS教程:運(yùn)算符-運(yùn)算符優(yōu)先級(jí)
VBS教程:運(yùn)算符-運(yùn)算符優(yōu)先級(jí)...2006-11-11

