快速注册ocx

上传人:子 文档编号:42956502 上传时间:2018-06-04 格式:DOC 页数:20 大小:22.35KB
返回 下载 相关 举报
快速注册ocx_第1页
第1页 / 共20页
快速注册ocx_第2页
第2页 / 共20页
快速注册ocx_第3页
第3页 / 共20页
快速注册ocx_第4页
第4页 / 共20页
快速注册ocx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《快速注册ocx》由会员分享,可在线阅读,更多相关《快速注册ocx(20页珍藏版)》请在金锄头文库上搜索。

1、快速注册快速注册 OCXOCXregsvr32 MSFLXGRD.ocx /注册 ActiveX 控件 pszDllName 为 DLL 或 OCX 的全路径 static BOOL RegActiveXControl(LPCTSTR pszDllName) /初始化 OLE. if (FAILED(OleInitialize(NULL) return FALSE; /使系统不显示严重的错误句柄信息框,然而,系统向当前进程发送错误信息,用以保证 LoadLib fails. SetErrorMode(SEM_FAILCRITICALERRORS); /装载 ActiveX 控件 LoadLib

2、raryEx(pszDllName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); HINSTANCE hLib = LoadLibraryEx(pszDllName, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);/LoadLibrary(pszDllName); if (hLib hDLL) / See LoadLibrary() help for explaination of error code. TRACE1(“LoadLibrary() Failed with: %in“, hDLL); return FALSE; typ

3、edef HRESULT (CALLBACK *HCRET)(void); HCRET lpfnDllRegisterServer; lpfnDllRegisterServer = (HCRET)GetProcAddress(hDLL, “DllRegisterServer“); if(NULL = lpfnDllRegisterServer) / See GetProcAddress() help for explaination of error code. TRACE(“GetProcAddress() Failed“); return FALSE; if(FAILED(*lpfnDll

4、RegisterServer)() TRACE(“DLLRegisterServer() Failed“); return FALSE; #endifShellExecute( 0, “open“, “regsvr32.exe“, “/s yourocx.ocx“, yourocxpath ,SW_HIDE );文件 Regsvr32 用法及情况介绍 使用过 activex 的人都知道,activex 不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的 activex 控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在 windows 的 s

5、ystem 文件夹下有一个regsvr32.exe 的程序,它就是 windows 自带的 activex 注册和反注册工具。 一、regsvr32 的用法为: “regsvr32 /s /n /i(:cmdline) dllname” 。其中 dllname为 activex 控件文件名,建议在安装前拷贝到 system 文件夹下。 参数有如下意义: /u反注册控件 /s不管注册成功与否,均不显示提示框 /c控制台输出 /i跳过控件的选项进行安装(与注册不同) /n不注册控件,此选项必须与/i 选项一起使用 执行该命令的方法: 1、可以在“开始”-“运行” ,调出运行的对话框,也可以使用Wi

6、n+R 热键,然后直接在输入栏输入即可 2、在开始-运行 输入 cmd,调出命令提示符窗口,然后再执行 regsvr32 命令。 二、Regsvr32 错误消息的说明 当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。 以下列表介绍了 RegSvr32 错误消息和可能的原因。 Unrecognized flag:/invalid_flag 键入的标志或开关组合无效(请

7、参阅本文中的“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 reg

8、istration 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 sel

9、f-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 如何终止孤立进程 Ole

10、Initialize failed (or OleUninitialize failed). Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。 如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。例如,Ole32.dll 文件 可能已经损坏,或者其版本有误。 LoadLibrary(“Dllname“) failed.GetlastError returns 0x00000485 在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程

11、序所需的某个库文件” 。例如,键入 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(“dsk

12、maint.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 和依赖项 Re

13、gSvr32.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

14、Tools Included with the Microsoft Windows 98 Resource Kit 三、一个快速注册 DLL 及 OCX 的方法 注意看罗!方法如下: 1、在资源管理器中找到 C:WindowsSystemRegsvr32.exe 并【复制】 ( 按鼠标右键选复制 ) 2、将目录移到 C:WindowsSendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 ) 3、将快捷方式名称改成【REGISTER】 4、OK 现在,如果您想替某一个文件做注册动作,例如:C:WindowsSystemTest.ocx,您只要打开资源管理器,找到 C:Window

15、sSystemTest.ocx,按鼠标右键选【传送到】【REGISTER】即可完成注册动作了! 注:有一个地方要注意的是,Regsvr32.exe 只能注册 32 位的文件!如果要用它来注册 16 位的文件,会有错误讯息产生。 一、轻松修复 IE 浏览器 regsvr32 Shdocvw.dll regsvr32 Oleaut32.dll regsvr32 Actxprxy.dll regsvr32 Mshtml.dll regsvr32 Urlmon.dll 作用: 1、同时运行以上命令不仅可以解决 IE 不能打开新的窗口,用鼠标点击超链接也没有任何反应的问题; 2、还能解决大大小小的其它 IE 问题,比如网页显示不完整,JAVA效果不出现,网页不自动跳转,打开某些网站时总提示无法显示该页等。 二、解决 Windows 无法在线升级的问题 regsvr32 wupdinfo.dll 作用: Windows 的漏洞很多,每隔一段时间就需要使用“Windows Update”升级程序进行在线升级,不过“Windows Update”经常出现无法使用的情况,这时,我们可以使用 Regsvr32 来解决这个问题。三、防范网络脚本病毒有新招 regsvr32 /u scrrun.dll 作用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号