用VB写了一个ActiveX DLL文件(abc.dll)供PowerBuilber程序调用,
我注册abc.dll这个文件(regsvr32 abc.dll)...
{因为在PowerBuilber调试这个DLL,DLL中的函数有问题还要调整DLL文件里的函数}
...然后在反注册后(regsvr32 abc.dll -u)删除这个文件,但删除不了,必须重新启动电脑才能删除掉,
主要因为在调试DLL中的函数,觉得老重启电脑很麻烦,
如何我不重启的前提下能删除这个文件
我注册abc.dll这个文件(regsvr32 abc.dll)...
{因为在PowerBuilber调试这个DLL,DLL中的函数有问题还要调整DLL文件里的函数}
...然后在反注册后(regsvr32 abc.dll -u)删除这个文件,但删除不了,必须重新启动电脑才能删除掉,
主要因为在调试DLL中的函数,觉得老重启电脑很麻烦,
如何我不重启的前提下能删除这个文件
你应该估计什么程序会占用它,是不是你的调试器?然后退掉,或者用unlocker查看一下可以查出来的
只要不和系统进程挂钩,一般不需要重启都能删掉
'DeleteDll.vbs
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% /k 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