菜鸟到高手-第6部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
榭础in32 错误代码的列表,请参见下面的 Microsoft Web 站点:
//msdn。microsoft。/library/en…us/netdir/adsi/win32_error_codes。asp
例如,要手动注册 Sample。ocx ActiveX 控件,请在 MS…DOS 提示符处键入以下命令:
c:regsvr32。exe sample。ocx
Regsvr32。exe 错误消息
以下列表介绍了 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 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type。
Dllname 不是可执行文件(。exe、。dll 或 。ocx)。例如,键入 regsvr32 autoexec。bat 就会生成该错误消息。
Dllname was loaded; but the DllRegisterServer or DllUnregisterServer entry point was not found。
Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self…registerable or a corrupted version is in memory。
例如,键入 regsvr32 icwdial。dll 后就会返回该错误消息,因为 Icwdial。dll 文件不能自行注册。如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4。0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章:
197155 如何终止孤立进程
OleInitialize failed (or OleUninitialize failed)。
Regsvr32 必须先初始化 库,然后才能调用所需的 库函数并在关闭时撤消对该库的初始化。如果对 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。例如,Ole32。dll 文件可能已经损坏,或者其版本有误。
LoadLibrary(〃Dllname〃) failed。GetlastError returns 0x00000485
在 Winerror。h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。例如,键入 regsvr32 missing。dll 后,如果找不到 Missing。dll 文件,就会返回该错误消息。
LoadLibrary(〃Dllname〃) failed。GetLastError returns 0x00000002
在 Winerror。h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。换言之,系统找不到相关的 DLL。例如,如果键入 regsvr32 icwdial。dll,而此时缺少 Tapi32。dll(依赖项),就会返回该错误消息。
LoadLibrary(〃dskmaint。dll〃) failed。GetLastError returns 0x000001f
在 Winerror。h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。如果您尝试注册 Win16 。dll 文件,就会发生此现象。例如,键入 regsvr32 dskmaint。dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed。返回代码是:字符串
在 Winerror。h 中搜索字符串。
Regsvr32。exe 和依赖项
RegSvr32。exe 依赖于 Kernel32。dll、User32。dll 和 Ole32。dll 文件(在 Windows NT 中,还依赖于 Msvcrt。dll 和 Advapi32。dll 文件)。Regsvr32。exe 会加载您尝试注册或撤消注册的文件及其所有依赖项。如果缺少必需的文件或者它们已损坏,该进程可能会失败。
您可以使用 Depends。exe 来确定您尝试注册或撤消注册的文件的依赖项。在 Microsoft Windows 98 资源工具包 和 Microsoft Windows NT 4。0 资源工具包 支持工具中都提供了 Depends。exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit
Regsvr32使用方法。txt
Regsvr32使用方法
使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32。exe的程序,它就是windows自带的activex注册和反注册工具。它的用法为:
“regsvr32 '/s' '/n' '/i(:cmdline)' dllname”。其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用
Regsvr32修复系统故障。txt
Regsvr32命令修复系统故障
Regsvr32命令是 Windows 系统提供的一个实用工具,它用来向系统注册控件或者卸载控件,利用该命令,可找回系统丢失的功能。Regsvr32命令以命令行方式运行,其命令格式为: Regsvr32 '/u' Filename; Filename是控件文件名,不带参数 u 就是注册控件,带参数 u 就是卸载控件。
l。 恢复图片预览功能: Windows XP的图片预览功能,对应的控件文件为 thurnbvw。dll。 如果该功能损坏,可单击“开始”一“运行” ; 在“打开”框中输人:〃 Regsvr32 Thurnbvw。 dll〃 ,单击“确定”执行命令,这时就会弹出提示框: 〃 DllRegisterServer in Thumbvw。dll succeeded。〃 ,这表明控件注册成功。重新启动电脑,WindowsXP 的图片预览功能便恢复了。
2。 恢复ZIP功能:Windows XP 系统提供了ZIP功能,虽然功能不算强大,但不需要第三方软件就可打开ZIP文件,而且可以把ZIP压缩文件当作文件夹使用,也算是比较方便、实用的功能。如果该功能损坏,可在运行框中执行“Regsvr32 ZIPfldr。dll”命令,然后重新启动电脑即可恢复。
3。 恢复IE新窗口打开超级链接功能:在IE中有两种超级链接,一种是在当前页面跳转的链接,另一种是弹出新窗口的链接,对第一种链接也可按住Shift键在新窗口中打开。很多人都遇到过不能在新窗口打开链接的麻烦事儿,这个问题也是因控件注册信息丢失引起的。解决办法是:在运行框中分别执行三个命令:“Regsvr32 Actxprxy。dll ”、“Regsvr32 Shdocvw。dll”、 〃 Regsvr32 Oleaut32。dll ”。一这三个控件注册成功后,重新启动电脑, IE 就恢复正常了。
4。 恢复FSO功能:现在有很多人利用自己的电脑建论坛、网站,论坛或者动态网站程序都可进行在线文件管理,管理员通过页面就可操作文件,但经常有人反映自己的论坛、网站不能在线管理文件,这是因为服务器的FSO功能没有开通或者出现故障,解决办法是:在服务器的运行框中执行“Regsvr32 Sorrun。dll 〃 ,最后重启服务器即可开通/恢复FSO功能。
5。 恢复在线升级功能:在Windows的“开始”菜单的顶端,有一个“Windows Update”项,可以快捷的对系统进行在线升级打补。但有时会发现无法进行在线升级,要解决这个故障,只要在运行框中执行 〃 Regsvr32 Wupdinfo。dll 〃 ,重启电脑即可解决。
RUNDLL32内容。txt
RUNDLL32。EXE 是什么程序
Rundll32。exe是什么?顾名思意,“执行32位的DLL文件”。它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32。exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个Rundll32。exe,不必惊慌,这证明用Rundll32。exe启动了多少个的DLL文件。当然,这些Rundll32。exe执行的DLL文件是什么,我们都可以从系统自动加载的地方找到。
现在,我来介绍一下Rundll32。exe这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。系统中还有一个Rundll。exe文件,他的意思是“执行16位的DLL文件”,这里要注意一下。在来看看Rundll32。exe使用的函数原型:
Void CALLBACK FunctionName (
HWND hwnd;
HINSTANCE hinst;
LPTSTR lpCmdLine;
Int nCmdShow
);
其命令行下的使用方法为:Rundll32。exe DLLname;Functionname 'Arguments'
DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;'Arguments'为引出函数的具体参数。
略谈Rundll32。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:ProgramFiles目录,你要把这个路径改成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的指令列举如下(很有用的,能省去你很多呼叫W