??? 使用過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?用法和錯誤消息的說明?
對于那些可以自行注冊的對象鏈接和嵌入?(OLE)?控件,例如動態鏈接庫?(DLL)?文件或?ActiveX?控件?(OCX)?文件,您可以使用?Regsvr32?工具?(Regsvr32.exe)?來將它們注冊和取消注冊。
Regsvr32.exe?的用法?
RegSvr32.exe?具有以下命令行選項:?Regsvr32?[/u]?[/n]?[/i[:cmdline]]?dllname?
???/u?-?Unregister?server<BR/>?
???/i?-?Call?DllInstall?passing?it?an?optional?[cmdline];?
????????when?used?with?/u?calls?dll?uninstall?
???/n?-?do?not?call?DllRegisterServer;?this?option?must?
????????be?used?with?/i?
當您使用?Regsvr32.exe?時,它會嘗試加載該組件并調用它的?DLLSelfRegister?函數。如果此嘗試成功,Regsvr32.exe?會顯示一個指示成功的對話框。如果此嘗試失敗,Regsvr32.exe?會返回一條錯誤消息,其中可能會包括一個?Win32?錯誤代碼。要查看?Win32?錯誤代碼的列表,請參見下面的?Microsoft?Web?站點:??
http://msdn.microsoft.com/library/en-us/ne ... rror_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?必須先初始化?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
?
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?"?,重啟電腦即可解決。