SYSTEM-Regsvr32和Rundll32命令解析

一、Regsvr32命令

 

这里有很多Regsvr32命令,看了后就明白了        Regsvr32命令修复系统故障实例使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所 使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一 个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。

 

2000系统的regsvr32.exe在winnt\system32文件夹下;

WInXP系统的regsvr32.exe在windows\system32文件夹下

 

regsvr32的用法为:

"regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。

 

参数有如下意义:

/u——反注册控件

/s——不管注册成功与否,均不显示提示框

/c——控制台输出

/i——跳过控件的选项进行安装(与注册不同)

/n——不注册控件,此选项必须与/i选项一起使用

 

执行该命令的方法:

 

1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可

2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。

 

二、Regsvr32错误消息的说明

当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。

 

以下列表介绍了 RegSvr32 错误消息和可能的原因。

 

Unrecognized flag:/invalid_flag

键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。

No DLL name specified.

未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。

Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.

Dllname不是.dll 或.ocx 文件。例如,键入 regsvr32 wjview.exe 就会生成该错误消息。

 

例如,键入regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。如果您怀疑内存中有损坏的Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章:197155 如何终止孤立进程OleInitialize failed (or OleUninitialize failed).

 

Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。

 

一、轻松修复IE浏览器

regsvr32 Shdocvw.dll

regsvr32 Oleaut32.dll

regsvr32 Actxprxy.dll

regsvr32 Mshtml.dll

regsvr32 Urlmon.dll

regsvr32 browseui.dll

 

作用:

1、同时运行以上命令不仅可以解决IE不能打开新的窗口,用鼠标点击超链接也没有任何反应的问题;

2、还能解决大大小小的其它IE问题,比如网页显示不完整,JAVA效果不出现,网页不自动跳转,打开某些网站时总提示‘无法显示该页’等。

 

二、解决Windows无法在线升级的问题

regsvr32 wupdinfo.dll

 

作用:

Windows的漏洞很多,每隔一段时间就需要使用“Windows Update”升级程序进行在线升级,不过“Windows Update”经常出现无法使用的情况,这时,我们可以使用Regsvr32来解决这个问题。

 

三、防范网络脚本病毒有新招

regsvr32 /u scrrun.dll

 

作用:

网络脚本病毒嵌在网页中,上网时在不知不觉中机器就会感染上这种病毒。笔者认为单纯使用杀毒软件并不能有效地防范这些脚本病毒,必须从病毒传播的机理入 手。网络脚本病毒的复制、传播都离不开FSO对象(File System Object,文件系统对象),因此禁用FSO对象就能有效地控制脚本病毒的传播。

如果需要使用FSO对象,键入“regsvr32 scrrun.dll”命令即可。

 

四、卸载Win XP自带的ZIP功能

regsvr32 /u zipfldr.dll

 

作用:

Win XP以功能强大而著称,但有些功能却常常令人有“鸡肋”之感,比如Win XP自带的ZIP功能和图片预览功能,不仅占用了系统资源,功能也远不如第三方软件强大。其实用Regsvr32命令可以很容易地卸载这些功能。

 

五、修复无法缩略图查看文件问题

2000: 开始→运行,输入regsvr32 thumbvw.dll

XP: 开始→运行,输入regsvr32 shimgvw.dll

 

六、让WMP播放器支持RM格式

很多朋友喜欢用Windows Media Player(以下简称WMP)播放器,但是它不支持RM格式,难道非得安装其它播放软件吗?笔者有办法。

 

以Win XP为例,首先下载一个RM格式插件,解压缩后得到两个文件夹: Release(用于Windows 9x)和Release Unicode (用于Windows 2000/XP);将Release Unicode文件夹下的RealMediaSplitter.ax文件拷贝到“系统盘符\WINDOWS\System32\”目录下;在“开始→运 行”中键入“regsvr32 RealMediaSplitter.ax”,点击“确定”即可。接着下载解码器,如Real Alternative,安装后就能用WMP播放RM格式的影音文件了。

 

七、让WMP9的播放器出现

 

有些音乐网页的在线点歌需要用到Media Player,有的朋友明明安装了WMP9,但在线听音乐却只看到枯燥的WMP6播放器面板,想让漂亮的WMP9面板出现,当然没问题的。

 

常见问题的操作系统多数WIN 98,先关闭IE,再在“开始→运行”中键入“regsvr32 wmpdxm.dll”,点击“确定”即可。

 

八、解决打开系统功能时无反应regsvr32 shdocvw.dll

 

作用:

有时从开始菜单里点击XP系统的搜索功能、帮助和支持或管理工具等,但就是无任何反应,这是它们的打开方式缺少关联,所以我们只要用regsvr32注册它们需要调用的动态连接库文件就行了。

 

九、添加/删除程序打不开了regsvr32 appwiz.cpl

regsvr32 mshtml.dll

regsvr32 jscript.dll

regsvr32 msi.dll

regsvr32 "c:\program files\common files\system\ole db\oledb32.dll"

regsvr32 "c:\program files\common files\system\ado\msado15.dll"

regsvr32 mshtmled.dll

regsvr32 /i shdocvw.dll

regsvr32 /i shell32.dll

 

作用:

当打开控制面板中的添加/删除程序时,双击它的图标后无反应,或者打开后自动关闭了,尝试使用以上命令可以解决。

 

十、XP的用户帐户打不开regsvr32 nusrmgr.cpl

regsvr32 mshtml.dll

regsvr32 jscript.dll

regsvr32 /i shdocvw.dll

 

十一、防范网络脚本病毒有新招

regsvr32 /u scrrun.dll 禁用FSO对象

regsvr32 scrrun.dll 使用FSO对象

 

十二、解决Windows无法在线升级的问题regsvr32 wupdinfo.dll

 

以下症状我把它称作IE的活动脚本漏洞,虽然这两个命令能修复,但治标不治本,我建议遇到此问题的朋友到微软网站进行IE安全更新,即打漏洞补丁。

 

regsvr32 jscript.dll

regsvr32 vbscript.dll

 

作用:

1、跟上面讲的修复IE浏览器方法配合使用(可以不配),可以很好的解决浏览某些网页无法正常显示和功能不正常,如:

a.不显示某些验证码

b.不显示某些动态图片

c.不显示某些论坛的帖子列表

d.论坛快速跳转功能无用

e.论坛发贴时按Ctrl+Enter提交无反应

 

2、修复个别窗口空白,如XP的‘搜索’功能的搜索助理操作面板空白、系统还原页面空白和用户帐户页面空白等。(可修复把握度100%)

 

3、解决windows media player 9或以上版本打开时提示‘出现内部应用程序错误’。(可修复把握度100%)

 

4、可以修复win 2000的‘添加/删除程序’打开后一片空白。(可修复把握度99%)

 

5、解决win 2000以WEB方式查看Program Files文件夹和Winnt文件夹时看不到任何文件,以及‘控制面板’的图标跑到左边去的问题。

 

6、解决网页上网际快车的右键菜单功能无法使用。

在网站中,当右键点某个‘下载连接’时,会弹出菜单,选择‘使用网际快车下载’会再弹出FLASHGET的下载任务页面,如果发现该功能无反应,那就可能 是这个原因:原来这项菜单是调用了FLASHGET目录下的jc_link.htm文件,这个文件是用VB语言编写的,所以其作用丢失是动态连接库 vbscript.dll没有注册和调用到

 

 

二、RUNDLL32命令

关于RUNDLL.exe 命令

常用Windows9x的朋友一定对Rundll32.exe和Rundll.exe这两个档案不 

  会陌生吧,不过,由於这两个程式的功能原先只限於在微软内部使用,因而真正知道如何使用它们的朋友想必不多。那麽好,如果你还不清楚的话,那麽 

  就让我来告诉你吧。 

  首先,请你做个小实验(请事先保存好你正在执行的程式的结果,否则...)∶ 

  点击“开始-程式-Ms-Dos方式”,进入Dos视窗,然後键入 

  "rundll32.exe user.exe,restartwindows",再按下回车键,这时你将看到,机器被重启了!怎麽样,是不是很有趣? 

  当然,Rundll的功能绝不仅仅是重启你的机器。其实,Rundll者,顾名思义,执行Dll也,它的功能就是以命令列的方式呼叫Windows的动态链结库, 

  Rundll32.exe与Rundll.exe的区别就在於前者是呼叫32位的链结库,而後者是运用於16位的链结库,它们的命令格式是∶ 

  RUNDLL.EXE ,, 

  这里要注意三点∶1.Dll档案名中不能含有空格,比如该档案位於 

  c:Program Files目录,你要把这个路径改成c:Progra~1;2.Dll档案名与Dll 入口点间的逗号不能少,否则程式将出错并且不会给出任何资讯!3.这是最重要的一点∶Rundll不能用来呼叫含返回值参数的Dll,例如Win32API中的GetUserName(),

  GetTextFace()等。在Visual Basic中,提供了一条执行外部程式的指Shell,格式为∶ 

  Shell “命令列” 

  如果能配合Rundll32.exe用好Shell指令,会使您的VB程式拥有用其他方法难以甚至无法实现的效果∶仍以重启为例,传统的方法需要你在VB工程中先建立一个模组,然後写入WinAPI的声明,最後才能在程式中呼叫。而现在只需一句: 

  Shell “rundll32.exe user.exe,restartwindows”就搞定了!是不是方便 

  多了? 

  实际上,Rundll32.exe在呼叫各种Windows控制面板和系统选项方面有著独特的优势。下面,我就将本人在因特网上收集的有关Rundll的指令列举如下(很有用的,能省去你很多呼叫Windows API的时间!!),供大家在程式设计中引用∶ 

  命令列: rundll32.exe shell32.dll,Control_RunDLL 

  功能: 显示控制面板 

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1 

  功能: 显示“控制面板-辅助选项-键盘”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2 

  功能: 显示“控制面板-辅助选项-声音”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3 

  功能: 显示“控制面板-辅助选项-显示”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4 

  功能: 显示“控制面板-辅助选项-滑鼠”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5 

  功能: 显示“控制面板-辅助选项-传统”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1 

  功能: 执行“控制面板-添加新硬体”向导。 

  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter 

  功能: 执行“控制面板-添加新印表机”向导。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 

  功能: 显示 “控制面板-添加/删除程式-安装/卸载” 面板。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2 

  功能: 显示 “控制面板-添加/删除程式-安装Windows” 面板。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,3 

  功能: 显示 “控制面板-添加/删除程式-启动盘” 面板。 

  命令列: rundll32.exe syncui.dll,Briefcase_Create 

  功能: 在桌面上建立一个新的“我的公文包”。 

  命令列: rundll32.exe diskcopy.dll,DiskCopyRunDll 

  功能: 显示复制软碟视窗 

  命令列: rundll32.exe apwiz.cpl,NewLinkHere %1 

  功能: 显示“建立快捷方式”的对话框,所建立的快捷方式的位置由%1参数决定。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0 

  功能: 显示“*期与时间”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,1 

  功能: 显示“时区”选项视窗。 

  命令列: rundll32.exe rnaui.dll,RnaDial [某个拨号连接的名称] 

  功能: 显示某个拨号连接的拨号视窗。如果已经拨号连接,则显示目前的连接状态的视窗。 

  命令列: rundll32.exe rnaui.dll,RnaWizard 

  功能: 显示“新建拨号连接”向导的视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 

  功能: 显示“显示属性-背景”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,1 

  功能: 显示“显示属性-萤屏保护”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,2 

  功能: 显示“显示属性-外观”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3 

  功能: 显示显示“显示属性-属性”选项视窗。 

  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL FontsFolder 

  功能: 显示Windows的“字体”档案夹。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3 

  功能: 同样是显示Windows的“字体”档案夹。 

  命令列: rundll32.exe shell32.dll,SHFormatDrive 

  功能: 显示格式化软碟对话框。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,0 

  功能: 显示“控制面板-游戏控制器-一般”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL joy.cpl,,1 

  功能: 显示“控制面板-游戏控制器-进阶”选项视窗。 

  命令列: rundll32.exe mshtml.dll,PrintHTML (HTML文档) 

  功能: 列印HTML文档。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl 

  功能: 显示Microsoft Exchange一般选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @0 

  功能: 显示“控制面板-滑鼠” 选项 。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1 

  功能: 显示 “控制面板-键盘属性-速度”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @1,,1 

  功能: 显示 “控制面板-键盘属性-语言”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @2 

  功能: 显示Windows“印表机”档案夹。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @3 

  功能: 显示Windows“字体”档案夹。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL main.cpl @4 

  功能: 显示“控制面板-输入法属性-输入法”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add 

  功能: 执行“添加新调制解调器”向导。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0 

  功能: 显示“控制面板-多媒体属性-音频”属性页。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,1 

  功能: 显示“控制面板-多媒体属性-视频”属性页。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,2 

  功能: 显示“控制面板-多媒体属性-MIDI”属性页。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,3 

  功能: 显示“控制面板-多媒体属性-CD音乐”属性页。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,4 

  功能: 显示“控制面板-多媒体属性-设备”属性页。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1 

  功能: 显示“控制面板-声音”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl 

  功能: 显示“控制面板-网路”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl 

  功能: 显示ODBC32资料管理选项视窗。 

  命令列: rundll32.exe shell32.dll,OpenAs_RunDLL{drive:path ilename} 

 

  功能: 显示指定档案(drive:path ilename)的“打开方式”对话框。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL password.cpl 

  功能: 显示“控制面板-密码”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl 

  功能: 显示“控制面板-电源管理属性”选项视窗。 

  命令列: rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL 

  PrintersFolder 

  功能: 显示Windows“印表机”档案夹。(同rundll32.exe shell32.dll,Control_RunDLL main.cpl @2) 

  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0 

  功能: 显示“控制面板-区域设置属性-区域设置”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,1 

  功能: 显示“控制面板-区域设置属性-数字”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2 

  功能: 显示“控制面板-区域设置属性-货币”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,3 

  功能: 显示“控制面板-区域设置属性-时间”选项视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,4 

  功能: 显示“控制面板-区域设置属性-*期”选项视窗。 

  命令列: rundll32.exe desk.cpl,InstallScreenSaver [萤屏保护档案名] 

  功能: 将指定的萤屏保护档案设置为Windows的屏保,并显示萤屏保护属性视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0 

  功能: 显示“控制面板-系统属性-传统”属性视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1 

  功能: 显示“控制面板-系统属性-设备管理器”属性视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2 

  功能: 显示“控制面板-系统属性-硬体配置档案”属性视窗。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3 

  功能: 显示“控制面板-系统属性-性能”属性视窗。 

  命令列: rundll32.exe user.exe,restartwindows 

  功能: 强行关闭所有程式并重启机器。 

  命令列: rundll32.exe user.exe,exitwindows 

  功能: 强行关闭所有程式并关机。 

  命令列: rundll32.exe shell32.dll,Control_RunDLL telephon.cpl 

  功能: 显示“拨号属性”选项视窗 

  命令列: rundll32.exe shell32.dll,Control_RunDLL themes.cpl 

  功能: 显示“桌面主旨”选项面板 

  当然,不止是VisualBasic,象Delphi.VisualC++等其他程式设计语言也可以通 

  过呼叫外部命令的方法来使用Rundll的这些功能,具体方法这里就不再详细叙述 

  了。灵活的使用Rundll,一定会使你的程式设计轻轻松松,达到事半功倍的效果! 

 

posted @ 2014-04-28 23:34  oliverary  阅读(702)  评论(0)    收藏  举报