Regsvr32

Regsvr32

用于注冊動态鍊接庫文件
Regsvr32命令用于注冊動态鍊接庫文件,是 Windows 系統提供的用來向系統注冊控件或者卸載控件的命令,以命令行方式運行。WinXP及以上系統的regsvr32.exe在windows\system32文件夾下;2000系統的regsvr32.exe在winnt\system32文件夾下。Regsvr32.exe 會加載您嘗試注冊或撤消注冊的文件及其所有依賴項。同樣,開始-運行---輸入regsvr32.exe /u thumbvw.dll就可以卸載掉圖片預覽功能。在正常情況下,打開media player并将其最小化,右擊任務欄空白處“工具欄”勾選“windows media player”選項,此時media player将會以最小播放機的形式在任務欄右方顯示。
    中文名: 外文名:Regsvr32 别名: 定義:用于注冊動态鍊接庫文件 提供方:Windows 系統 參數:/u、/s、/n

簡介

regsvr32命令用于注冊動态鍊接庫文件,是 Windows 系統提供的用來向系統注冊控件或者卸載控件的命令,以命令行方式運行。WinXP及以上系統的regsvr32.exe在windowssystem32文件夾下;2000系統的regsvr32.exe在winntsystem32文件夾下。

regsvr32的用法為: "regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。其中dllname為activex控件文件名,建議在安裝前拷貝到system文件夾下。

基本介紹

regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname 其中dllname為activex控件文件名,建議在安裝前拷貝到system文件夾下。

參數

/u

反注冊控件

/s

指定 regsvr32 安靜運行,在成功注冊/反注冊DLL文件的前提下不顯示結果提示框。

/n

指定不調用 DllRegisterServer。此選項必須與 /i 共同使用。

/i:cmdline

調用 DllInstall 将它傳遞到可選的 [cmdline]。在與 /u 共同使用時,它調用 dll 卸載。

dllname

指定要注冊的 dll 文件名。

/?

在命令提示符顯示幫助。

執行方法

1、可以在“開始”--“運行”,調出運行的對話框,也可以使用Win+R熱鍵,然後直接在輸入欄輸入即可

2、在開始--運行 輸入cmd,調出‘命令提示符’窗口,然後再執行regsvr32命令。

例:

要為“Active Directory Schema”注冊 .dll,請在 MS-DOS提示符處鍵入以下命令:

c:regsvr32 schmmgmt.dll

Regsvr32是系統文件

很多朋友都用過Windows系統下提供的regsvr32.exe這個命令。不要瞧不起這個小命令。有時候它可能幫你解決大問題。

組件注冊

注冊一個組件使用regsvr32 xxx.dll命令。其中DLL(即xxx.dll)輸出四個函數。DllGetClassObject,DllRegisterServer,DllUnregisterServer和DllMain。下面簡單介紹這四個函數的用途 DllGetClassObject用于返回classfactory對象指針,classfactory用于創建組件實例,詳情參看《COM技術内幕

DllRegisterServer由詞義看出其用于注冊組件,在windows的注冊表中給某個dll的登記。注意DLL(xxx.dll)内部包含一個或多個組件。regsvr32 -s xxx.dll即regsvr32調用xxx.dll中的此函數完成組件的注冊。多說一句,注冊是為了能夠索引到xxx.dll然後創建組件。

DllUnregisterServer在windows的注冊表中取消某個dll的登記

DllMain:c++程序有一個main函數作為程序入口,windows程序使用WinMain作為程序入口,Dll使用的是DllMain作為入口。主要用于獲取模塊句柄。下面是其實現方式

BOOL APIENTRY DllMain(HINSTANCE hModule,DWORD dwReason, void* lpReserved)

{

if(dwReason==DLL_PROCESS_ATTACH)

{

g_hModule=hModule;

}

}

可以看到,DllMain将模塊句柄保存到一個全局g_hModule中,以供DllregisterServer和DllUnregisterServer使用

主要功能

輕松修複IE浏覽

很多經常上網的朋友都有過這樣的經曆:IE不能打開任何新的窗口,用鼠标點擊超鍊接,也沒有任何的反應。這是一般情況下需要重新啟動機器或者重新安裝IE就能解決問題。其實根本沒這麼 麻煩,使用Regsvr32.exe命令就可以輕松搞定。在開始---運行裡輸入“Regsvr32.exe actxprxy.dll”回車 确定;再次輸入運行Regsvr32.exe shdocvw.dll”回車。重新啟動計算機後IE被輕松修複。上網一切正常如初。

在線升級的問題

windows漏洞很多。每隔一段時間都需要使用windows update來升級自己的系統。可這個程序總是出現無法使用的情況。這個時候使用regsvr32.exe又可以幫助我們解決這個問題。開始---運行--輸入regsvr32.exe wupdinfo.dll回車。這是系統重新注冊了Update的組件。重新啟動機器後又可以升級你的系統。

卸載雞肋功能

XP系統中有的服務不僅占用系統資源嚴重,而且功能要強不強,要弱不弱。根本不如一些專業的軟件來的方便。比如它的圖片預覽功能和ZIP壓縮功能。這個時候我們就可以使用regsvr32.exe工具來卸載掉這些雞肋。開始--運行---輸入regsvr32.exe /u zipfldr.dll就可以卸載掉功能。如以後需要這個功能,隻需要再次輸入regsvr32 zipfldr.dll即可。同樣,開始-運行---輸入regsvr32.exe /u thumbvw.dll就可以卸載掉圖片預覽功能。需要恢複時輸入regsvr32 thumbvw.dll。

防範腳本病毒

網絡腳本病毒會在你浏覽網頁同時不知不覺的被感染。這種病毒有時候一般的殺毒軟件根本查不到。其實這種病毒很多情況下都是調用了FSO對象(file system object文件系統對象)。因此我們隻需要禁止FSO就可以有效的防止這種病毒的傳播。操作的方法也很簡單。

開始-運行--輸入“regsvr32.exe /u scrrun.dll就可以禁用FSO。需要時輸入regsvr32.exe scrrun.dll即可。 相信很多朋友看見上面的介紹多少對regsvr32.exe都有了一些了解。其實這個命令是windows中控件文件(擴展名為.dll ,.ocx,.cpl)的注冊和反注冊工具。這個命令在WIN98下的位置在/WINDOWS/SYSTEM中。其實一般情況下,所謂的注冊的意義就是把一些控件文件放在它應該在的位置上(不嚴格的說)。而有一些系統的控件或者其它情況下用這個命令就方便的多。關于這個命令的參數,請大家參考此貼的第一個圖。一般情況下隻用到/U這個參數。

修複縮略圖文件

2000: 開始→運行,輸入regsvr32 thumbvw.dll

XP: 開始→運行,輸入regsvr32 shimgvw.dll這條主要是解決windows圖片和傳真查看器的右鍵沒有“設為桌面背景”的!!特注!

WMP播放器支持RM

很多朋友喜歡用Windows Media Player(以下簡稱WMP)播放器,但是它不支持RM格式,難道非得安裝其它播放軟件嗎? 以Win XP為例,首先下載一個RM格式插件,解壓縮後得到兩個文件夾: Release(用于Windows 9x)和Release Unicode (用于Windows 2000/XP);将Release Unicode文件夾下的

RealMediaSplitter文件拷貝到“系統盤符WINDOWSSystem32”目錄下;在“開始→運行”中鍵入“regsvr32 RealMediaSplitter”,點擊“确定”即可。接着下載解碼器,如Real Alternative,安裝後就能用WMP播放RM格式的影音文件了。

WMP9播放器

有些音樂網頁的在線點歌需要用到Media Player,有的朋友明明安裝了WMP9,但在線聽音樂卻隻看到枯燥的WMP6播放器面闆,想讓漂亮的WMP9面闆出現,當然沒問題的。 常見問題的操作系統多數WIN 98,先關閉IE,再在“開始→運行”中鍵入“regsvr32 wmpdxm.dll”,點擊“确定”即可。

系統功能無反應

regsvr32 shdocvw.dll

有時從開始菜單裡點擊XP系統的搜索功能、幫助和支持或管理工具等,但就是無任何反應,這是它們的打開方式缺少關聯,所以我們隻要用regsvr32注冊它們需要調用的動态連接庫文件就行了。

添加/删除程序

當打開控制面闆中的添加/删除程序時,雙擊它的圖标後無反應,或者打開後自動關閉了,嘗試使用以下命令可以解決。

regsvr32 mshtml.dll

regsvr32 jscript.dll

regsvr32 msi.dll

regsvr32 "c:program filescommon filessystemole dboledb32.dll"

regsvr32 "c:program filescommon filessystemadomsado15.dll"

regsvr32 mshtmled.dll

regsvr32 /i shdocvw.dll

regsvr32 /i shell32.dll

十、用戶帳戶打不開

regsvr32 nusrmgr.cpl

regsvr32 mshtml.dll

regsvr32 jscript.dll

regsvr32 /i shdocvw.dll

十一、在線升級的問題

regsvr32 wupdinfo.dll 雖然這兩個命令能修複,但治标不治本,我建議遇到此問題的朋友到微軟網站進行IE安全更新,即打漏洞補丁。

regsvr32 jscript.dll

regsvr32 vbscript.dll

可以很好的解決浏覽某些網頁無法正常顯示和功能不正常。修複個别窗口空白,如XP的‘搜索’功能的搜索助理操作面闆空白、系統還原頁面空白和用戶帳戶頁面空白等(可修複把握度100%) 。解決windows media player 9或以上版本打開時提示‘出現内部應用程序錯誤’(可修複把握度100%) 。

可以修複win 2000的‘添加/删除程序’打開後一片空白(可修複把握度99%) 。解決win 2000以WEB方式查看Program Files文件夾和Winnt文件夾時看不到任何文件,以及‘控制面闆’的圖标跑到左邊去的問題。解決網頁上網際快車的右鍵菜單功能無法使用。 在網站中,當右鍵點某個‘下載連接’時,會彈出菜單,選擇‘使用網際快車下載’會再彈出FLASHGET的下載任務頁面,如果發現該功能無反應,那就可能是這個原因:原來這項菜單是調用了FLASHGET目錄下的jc_link.htm文件,這個文件是用VB語言編寫的,所以其作用丢失是動态連接庫vbscript.dll沒有注冊和調用到。等等

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

如果你以上問題都嘗試過了還是在關機的時候出現此問題,如果你确認你自己安裝中國工商銀行的反釣魚軟件。

請您卸載此軟件。

十二,恢複顯示桌面

在進行日常的電腦操作時,有時會急需調出桌面,但又不關閉已打開的窗口,Windows對此添加了顯示桌面的快捷鍵,默認在“開始”右邊的第一個快捷方式。有時快捷欄裡顯示桌面圖标會丢失,或被誤删除。這時可以用regsvr32命令來解決。

開始》 運行》 regsvr32 /n /i:u shell32

十三,WMP任務欄

在正常情況下,打開media player并将其最小化,右擊任務欄空白處“工具欄”勾選“windows media player”選項,此時media player将會以最小播放機的形式在任務欄右方顯示。但現在在------“工具欄”上沒有“Windows media player”選項,也就無法将media player轉化為最小播放機的形式在任務欄上顯示了。

解決命令:regsvr32 "%ProgramFiles%Windows Media Playerwmpband.dll

相關詞條

相關搜索

其它詞條