2.然後根據需要進行OCX檔案或DLL檔案的注冊和反注冊
DLL.OCX注冊方法--檔案Regsvr32用法及情況介紹
使用過activex的人都知道,activex不注冊是不能夠被系統識别和使用的,一般安裝程式都會自動地把它所使用的activex控件注冊,但如果你拿到的一個控件需要手動注冊怎麼辦呢?如果修改系統資料庫那就太麻煩了,在windows的system檔案夾下有一個regsvr32.exe的程式,它就是windows自帶的activex注冊和反注冊工具。
一、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 就會生成該錯誤消息。
Dllname is not an executable file and no registration helper is registered for this file type.
Dllname 不是可執行檔案(.exe、.dll 或 .ocx)。例如,鍵入 regsvr32 autoexec.bat 就會生成該錯誤消息。
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 必須先初始化 COM 庫,然後才能調用所需的 COM 庫函數并在關閉時撤消對該庫的初始化。
如果對 COM 庫進行初始化或撤消初始化的嘗試失敗,就會出現這些錯誤消息。例如,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
三、一個快速注冊 DLL 及 OCX 的方法
注意看羅!方法如下:
1、在資料總管中找到 C:\Windows\System\Regsvr32.exe 并【複制】 ( 按滑鼠右鍵選複制 )
2、将目錄移到 C:\Windows\SendTo 後,執行【貼上快捷方式】 ( 按滑鼠右鍵選貼上快捷方式 )
3、将快捷方式名稱改成【REGISTER】
4、OK
現在,如果您想替某一個檔案做注冊動作,例如:C:\Windows\System\Test.ocx,您隻要打開資料總管,找到 C:\Windows\System\Test.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
網絡腳本病毒嵌在網頁中,上網時在不知不覺中機器就會感染上這種病毒。筆者認為單純使用防毒軟體并不能有效地防範這些腳本病毒,必須從病毒傳播的機理入手。網絡腳本病毒的複制、傳播都離不開FSO對象(File System Object,檔案系統對象),是以禁用FSO對象就能有效地控制腳本病毒的傳播。
如果需要使用FSO對象,鍵入“regsvr32 scrrun.dll”指令即可。
四、解除安裝Win XP自帶的ZIP功能
regsvr32 /u zipfldr.dll
Win XP以功能強大而著稱,但有些功能卻常常令人有“雞肋”之感,比如Win XP自帶的ZIP功能和圖檔預覽功能,不僅占用了系統資源,功能也遠不如第三方軟體強大。其實用Regsvr32指令可以很容易地解除安裝這些功能。
五、修複無法縮略圖檢視檔案問題
2000: 開始→運作,輸入regsvr32 C:\Winnt\System32\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
當打開控制台中的添加/删除程式時,輕按兩下它的圖示後無反應,或者打開後自動關閉了,嘗試使用以上指令可以解決。
猜不透的神秘指令 - regsvr32 jscript.dll
1、跟上面講的修複IE浏覽器方法配合使用,可以很好的解決浏覽某些網頁顯示不完整,并且有可能解決IE狀态欄顯示‘網頁上有錯誤’的提示。下圖以上網助手首頁為例:
2、跟指令regsvr32 vbscript.dll配合使用,修複個别視窗空白,如XP的‘搜尋’功能的搜尋助理操作面闆空白及系統還原功能無法使用等。
3、解決windows media player 9或以上版本打開時提示‘出現内部應用程式錯誤’。
4、可以修複win 2000的‘添加/删除程式’打開後一片空白。