使用過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效果不出現,網頁不自動跳轉,打開某些網站時總提示‘無法顯示該頁’等。
posted on 2007-03-12 12:17
jay 閱讀(832)
評論(0) 編輯 收藏 引用 所屬分類:
Win32