回 帖 发 新 帖 刷新版面

主题:[原创]分享几个菜鸟级别的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]

回复列表 (共2个回复)

沙发

不错,学习了

板凳


这些东西现在不还不会用!不过相信过些时日应该用得上的!先谢谢了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册