主题:[原创]分享几个菜鸟级别的VBS脚本,做ASP调用的DLL时用的
1.注册DLL:
on error resume next
sFile=Wscript.arguments(0)
if sfile="" then wscript.quit
set objShell=CreateObject("WScript.Shell")
objShell.Run "regsvr32 " & chr(34) & sFile & chr(34)
set objShell=nothing
2.反注册DLL并删除.(当在VB里修改了DLL的代码,重新生成DLL后想覆盖掉以前的DLL时,总是提示文件正在被另一个人或程序使用,必须得把调用它的程序先关掉了才行.其实下面的核心部分就是taskkill命令.要先把遇到某些DLL删除不了时也可以试试)
on error resume next
sFile=wscript.arguments(0)
if sFile="" then wscript.quit
ext=mid(sfile,instrrev(sfile,".")+1)
if lcase(ext) <> "dll" then wscript.quit
sName=mid(sFile,instrRev(sfile,"\")+1)
set objShell=createObject("Wscript.Shell")
sCmd="%comspec% /c "
sCmd=scmd & "color 1a "
sCmd=sCmd & "&& @echo 正在结束所有调用" & sFile & "的进程... "
sCmd=sCmd & "&& taskkill /f /fi " & chr(34) & "MODULES EQ " & sName & chr(34) & " /im * "
sCmd=sCmd & "&& @echo 正在反注册" & sFile & " "
sCmd=sCmd & "&& regsvr32 /u " & chr(34) & sFile & chr(34) & " "
sCmd=sCmd & "&& del /p " & chr(34) & sFile & chr(34) & " "
sCmd=sCmd & "&& pause "
'sCmd=sCmd& "&& exit"
objshell.run sCmd
set objShell=nothing
把以上两个分别保存为vbs文件,如regDll.vbs和deleteDll.vbs.以后要注册/反注册dll文件时,直接把dll文件拖到regdll.vbs文件的图标上就行了.
3.删除VB打开工程的历史记录
on error resume next
set reg=CreateObject("Wscript.shell")
for i =1 to 4
reg.regdelete("HKCU\Software\Microsoft\Visual Basic\6.0\RecentFiles\" & i)
next
msgbox "VB工程历史记录已清除" ,vbokonly + vbinformation
set reg=nothing
另外,请大家帮我看看这个问题怎么解决?
[url=http://bbs.pfan.cn/post-290511.html]asp调用DLL,外部对象中发生了可捕获的错误(C0000005)。脚本无法继续执行。[/url]
on error resume next
sFile=Wscript.arguments(0)
if sfile="" then wscript.quit
set objShell=CreateObject("WScript.Shell")
objShell.Run "regsvr32 " & chr(34) & sFile & chr(34)
set objShell=nothing
2.反注册DLL并删除.(当在VB里修改了DLL的代码,重新生成DLL后想覆盖掉以前的DLL时,总是提示文件正在被另一个人或程序使用,必须得把调用它的程序先关掉了才行.其实下面的核心部分就是taskkill命令.要先把遇到某些DLL删除不了时也可以试试)
on error resume next
sFile=wscript.arguments(0)
if sFile="" then wscript.quit
ext=mid(sfile,instrrev(sfile,".")+1)
if lcase(ext) <> "dll" then wscript.quit
sName=mid(sFile,instrRev(sfile,"\")+1)
set objShell=createObject("Wscript.Shell")
sCmd="%comspec% /c "
sCmd=scmd & "color 1a "
sCmd=sCmd & "&& @echo 正在结束所有调用" & sFile & "的进程... "
sCmd=sCmd & "&& taskkill /f /fi " & chr(34) & "MODULES EQ " & sName & chr(34) & " /im * "
sCmd=sCmd & "&& @echo 正在反注册" & sFile & " "
sCmd=sCmd & "&& regsvr32 /u " & chr(34) & sFile & chr(34) & " "
sCmd=sCmd & "&& del /p " & chr(34) & sFile & chr(34) & " "
sCmd=sCmd & "&& pause "
'sCmd=sCmd& "&& exit"
objshell.run sCmd
set objShell=nothing
把以上两个分别保存为vbs文件,如regDll.vbs和deleteDll.vbs.以后要注册/反注册dll文件时,直接把dll文件拖到regdll.vbs文件的图标上就行了.
3.删除VB打开工程的历史记录
on error resume next
set reg=CreateObject("Wscript.shell")
for i =1 to 4
reg.regdelete("HKCU\Software\Microsoft\Visual Basic\6.0\RecentFiles\" & i)
next
msgbox "VB工程历史记录已清除" ,vbokonly + vbinformation
set reg=nothing
另外,请大家帮我看看这个问题怎么解决?
[url=http://bbs.pfan.cn/post-290511.html]asp调用DLL,外部对象中发生了可捕获的错误(C0000005)。脚本无法继续执行。[/url]