零起步学习强大的Regsvr32命令(转贪玩BLOG)

      windows相关文档 2006-6-5 3:16
Regsvr32是Windows系统的内嵌命令,通过它可以注册或取消注册对象链接和嵌入控件(OLE),比如最常见的动态链接库文件(DLL)及网页制作和浏览时必须用到的
ActiveX
控件文件(OCX)。但由于缺乏相关的学习资料,许多朋友都误解Regsvr32只是一个安装和卸载DLL动态链接库的命令,更谈不上正确使用它了。所以,应广大读者的点播,本期特刊登此文,以期达到帮助读者快速掌握并熟练使用Regsvr32命令的目的。
  Regsvr32命令,在许多杂志媒体以及网络教学站点中出现的频率极高,可是许多朋友对它的了解却很浅显。其实,Regsvr32命令拥有强大的本领。例如,当我们的Windows系统或IE浏览器出现故障的时候,通过使用Regsvr32命令来注册文件就可轻松解决问题。现在,就让我们开始Regsvr32命令的学习之旅吧!
一、准备篇 Regsvr32命令哪里寻
  不同的Windows系统, Regsvr32.exe命令的位置也不同。正常状态下, Windows
2000/XP系统中,该命令位于C:\WINNT\system32下;如果是Windows 9x系统,该命令则位于C:\WINNT\system下。
二、基础篇 Regsvr32命令的使用方法
  命令的讲解往往枯燥难懂,所以本篇借助实例来辅助说明。例如,我们要注册C:\kk文件夹下一个名为kav.dll的动态链接库,可以在"开始→运行"中键入"CMD"命令,在打开的DOS窗口中键入"Regsvr32
C:\kk\kav.dll"并回车。此时,系统会自动加载kav.dll且开始尝试调用该动态链接库的DLLSelfRegister函数,成功调用后会显示相应的提示框。如果要卸载Kav.dll动态链接库,则键入"Regsvr32
/u C:\kk\kav.dll"即可,上述只是Regsvr32命令的基本用法,从中可见该命令的格式为:Regsvr32 [/s] [/n]
[/i[:cmdline]]
dllname。它包括下面4个参数。
/u:卸载安装的控件或卸载服务器的注册;
/s:注册成功后不显示操作成功信息框;
/i:调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL;
/n:不调用DllRegisterServer,该参数必须和/i一起使用。
  小提示:执行Regsvr32命令还需要系统的Kernel32.dll、User32.dll和Ole32.dll这3个文件才能正常运行。
三、提高篇 错误提示及解决
  如果Regsvr32命令加载不成功,系统会给予相应提示,它们的含义是什么且如何解决呢?
(1)提示"kav.def is not an
executable file and no registration helper is registered for this file
type.":如果键入文件的后缀名不是EXE、DLL或OCX,就会出现以上提示。
(2)提示"LoadLibrary("c:\kav.bat")
failed":系统找不到指定的kav.bat。我们需要指定路径,例如键入Regsvr32
d:\download32\kav.bat。
(3)提示"OleInitialize failed (or OleUninitialize
failed)": COM库的初始化失败。如果Regsvr32命令在加载的时候COM库初始化失败,则命令执行失败。
(4)提示"No DLL name
specified":键入的命令未包括DLL文件名。解决办法是键入完整的DLL文件名即可。
  如果在使用Regsvr32命令时出现以上提示,可以先试着纠正键入的错误,如错误的DLL路径或名称。还不能解决问题时,则需重启计算机。如果DLL等格式的文件已经损坏,则需要重新提取。
四、高级篇 Regsvr32命令案例实战
  当我们打开一个站点(例如http://www.microsoft.com/windows/ie_intl/cn/default.mspx),点击超链接没有反应,按Shift+鼠标左键也不能新开页面进行浏览,这时就需要使用Regsvr32命令来排除故障。先在"开始→运行"中键入"CMD"命令,启动DOS窗口并键入"Regsvr32
actxprxy.dll"。系统会弹出提示框,单击"确定"后再键入"regsvr32
shdocvw.dll",注册这2个动态链接库后重启计算机,这样IE浏览器即可恢复正常Sample Text
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}