【簡 介】
Regsvr32的背景與功能
Regsvr32是一個Windows系統(tǒng)的內(nèi)嵌
程序,不僅存在于Windows 2000 / XP下,同時也能在Windows 98中找到它的身影。它的主要功能就是注冊或卸載動態(tài)鏈接庫文件(DLL)和
嵌入式控件(OCX).
基礎(chǔ)篇
DLL文件
LL文件全稱是Dynamic Link Library,中文名字叫做“動態(tài)鏈接庫文件”。在Windows系統(tǒng)中,DLL文件就象EXE文件一樣能夠完成某項功能,但它卻無法像EXE文件那樣獨立運行,必須由其他程序來調(diào)用它,而它對于程序的執(zhí)行也是非常重要的,大多數(shù)的程序或系統(tǒng)組件在執(zhí)行時,都必須鏈接到DLL文件才能正常運行。換言之,DLL文件就像是
數(shù)據(jù)庫中一個個公用的函數(shù)庫,每位設(shè)計人員都可以在自己的程序中隨意調(diào)用它們,這樣,不僅不用自己再去編寫一些基礎(chǔ)功能(因為這些功能都已經(jīng)由DLL文件完成了),而且還可以讓程序的體積更加小巧。因此,如果某個DLL文件發(fā)生丟失,就有可能造成某個
軟件或某個系統(tǒng)模塊發(fā)生故障而無法正常工作。
OCX文件:OCX文件的全稱是Object Linking and Embedding (OLE) Control Extension,中文名字叫做“嵌入式對象控件”,它的作用其實和剛才談到的DLL文件特別相像,其實所謂的OLE我們平時已經(jīng)非常熟悉了,簡單地說就像在Word中可以使用Excel數(shù)據(jù),寫字板中可以嵌入圖片文件等等這些功能。打個比方的話,剪貼板就像是個簡單的數(shù)據(jù)共享,而OLE則是一種“對象共享”。
剛才我們談到Regsvr32的功能是注冊與卸載DLL文件的,那么現(xiàn)在又有一個問題困擾著我們,既然DLL文件起到的就是公用函數(shù)庫的作用,為什么我們不能直接在程序里調(diào)用,還要進(jìn)行一次注冊呢?其實,這里注冊DLL文件的道理就像是我們第一次入學(xué),雖然你坐在教室里,但是如果沒有寫你的檔案,老師是不會認(rèn)識你的,自然也就不會找到你。同樣道理,如果DLL文件沒有注冊,系統(tǒng)注冊表中就沒有這個DLL文件的相關(guān)信息,雖然它已經(jīng)存在于我們的硬盤上,但等到調(diào)用的時候,系統(tǒng)也就根本找不到這個DLL文件而只能報告沒有這個DLL存在了,所以在這個時候就需要我們注冊DLL文件了。
【小提示】 Windows系統(tǒng)的DLL因為在安裝時已經(jīng)注冊好了,因此不用注冊,但是如果因為某種情況系統(tǒng)無法識別這些DLL文件時,還是需要我們手動再注冊一遍。
Regsvr32命令格式
大家知道,凡是命令肯定都有一個格式,Regsvr32也不例外。我們以Windows XP為例,在“開始”菜單→“運行”欄中執(zhí)行“CMD”命令,打開命令提示行窗口,輸入Regsvr32命令后回車,就會看到Regsvr32的命令格式“Regsvr32 [ /u ][ /s ][ /n ][ /i [ :cmdline ] ] dll文件名”,
由上可知,Regsvr32命令一共有四個參數(shù),分別是:
/s:注冊或卸載成功后不顯示操作成功的提示框
/u:卸載已安裝的控件或DLL文件
/n:不調(diào)用DLLRegisterServer,要注意這個參數(shù)應(yīng)與/i一同使用
/i:調(diào)用DLLInstall,并給其傳遞一個可選的[ cmdline ];當(dāng)使用/u時用來卸載DLL
命令的講解往往都枯燥難懂,下面咱們就借助一個實例來進(jìn)一步了解Regsvr32的命令格式。比如我們想注冊一個保存在C:\Folder目錄中的shmedia.dll動態(tài)鏈接庫文件,那么執(zhí)行的命令就應(yīng)該是“Regsvr32 c:\folder\shmedia.dll”,而如果注冊過后打算卸載時就更簡單了,執(zhí)行命令“Regsvr32 /u c:\folder\shmedia.dll”就行了。如圖2所示就是正常完成任務(wù)的提示窗口
常見錯誤提示
使用Regsvr32命令久后,大家也許會經(jīng)常看到各種各樣的錯誤提示,這里筆者就找了一些比較有代表性的錯誤,幫大家來分析分析。
錯誤一:未指定DLL文件的具體路徑
一般出現(xiàn)在注冊非系統(tǒng)DLL文件時,原因就是Regsvr32程序在默認(rèn)路徑找不到指定的DLL文件,無法正常完成注冊。解決的辦法也很簡單,只要在命令中指定好DLL文件的具體
存儲路徑就行了,比如“Regsvr32 c:\folder\abc.dll”就是一個正常的命令。
錯誤二:要注冊的文件類型錯誤
原因就是用戶欲注冊的文件根本就不是一個正常的DLL文件或OCX文件,Regsvr32根本無法完成注冊。解決的方法就是指定一個正常的DLL文件或OCX文件就行了。比如原命令為“Regsvr32 c:\abc\abc.txt”,而正確的命令就應(yīng)該是“Regsvr32 c:\abc\abc.dll”(當(dāng)然,也得保證這個abc.dll文件已存在并完全正確)
實例演練
說了這么多,大家應(yīng)該對這個Regsvr32命令的功能很清楚了,下面咱們就以幾個常見的實例來結(jié)束這篇文章?
實例一:卸載Windows XP自帶的ZIP文件夾顯示功能
大家可能都知道在Windows XP中默認(rèn)可以顯示ZIP文件夾(壓縮文件夾),但問題是大多數(shù)的朋友卻一直在使用第三方解壓縮軟件WinRAR或WinZip,這樣XP默認(rèn)的那個ZIP文件夾顯示功能就成了擺設(shè),白白的浪費了大量的系統(tǒng)資源。其實,我們就可以利用剛剛學(xué)到的Regsvr32命令來卸載它。
進(jìn)入命令提示符窗口,執(zhí)行命令:Regsvr32 /u zipfldr.dll 即可。當(dāng)然如果卸載后還想再啟用(估計很少有朋友會這么做),只要再執(zhí)行一遍Regsvr32 zipfldr.dll命令就行了。
實例二:卸載Windows圖片預(yù)覽功能
圖片預(yù)覽功能和上面所說的ZIP文件顯示功能如出一轍,在強(qiáng)大的第三方圖片軟件的威脅下,Windows自帶的圖片預(yù)覽功能基本上就和雞肋一般,沒有任何優(yōu)勢可言。我們自然也就可以“卸它沒商量”。
進(jìn)入命令提示符窗口,執(zhí)行命令:Regsvr32 /u shimgvw.dll即可。當(dāng)然再次啟用的方法和前面一樣,也是Regsvr32 shimgvw.dll。
實例三:修復(fù)損壞的IE瀏覽器
好多朋友都有過這樣的遭遇,IE鏈接點擊無效,無法正常打開新窗口,按照以前的作法,基本上重裝一遍IE肯定能解決問題,但這種方法既費時間也費精力,倒不如直接用Regsvr32命令來試試呢。
進(jìn)入命令提示符窗口,執(zhí)行命令:Regsvr32 actxprxy.dll,待正常報告窗口彈出后,再次執(zhí)行命令:regsvr32 shdocvw.dll,再等待正常報告彈出后,繼續(xù)執(zhí)行命令:Regsvr32 Oleaut32.dll,等最后這次正常報告彈出后,您就可以重新打開IE試試了,怎么樣?保準(zhǔn)讓你喜出望外。
實例四:卸載XP的影像預(yù)覽功能也很簡單
同上面所說的圖片預(yù)覽功能一樣,XP的影像預(yù)覽功能(即
視頻文件預(yù)覽功能)也可以讓我們自由地注冊與卸載。
進(jìn)入命令提示符窗口,執(zhí)行命令:Regsvr32 /u shmedia.dll即可成功地卸載XP默認(rèn)的影像預(yù)覽功能,當(dāng)然去掉/U參數(shù),即Regsvr32 shmedia.dll命令又可以將影像預(yù)覽功能重新注冊上。
實例五: 恢復(fù)IE新窗口打開超級鏈接功能:在IE中有兩種超級鏈接,一種是在當(dāng)前頁面跳轉(zhuǎn)的鏈接,另一種是彈出新窗口的鏈接,對第一種鏈接也可按住Shift鍵在新窗口中打開。很多人都遇到過不能在新窗口打開鏈接的麻煩事兒,這個問題也是因控件注冊信息丟失引起的。解決辦法是:在運行框中分別執(zhí)行三個命令:“Regsvr32 Actxprxy.dll ”、“Regsvr32 Shdocvw.dll”、 " Regsvr32 Oleaut32.dll ”。一這三個控件注冊成功后,重新啟動電腦, IE 就恢復(fù)正常了。
【小提示】 以上幾個實例均是將這些系統(tǒng)功能反注冊,以使系統(tǒng)無法使用到這些功能,并沒有刪除掉任何系統(tǒng)文件,因此我們也就可以輕松地重新注冊這些功能,整個過程都是可逆的,請大家放心試用
本人的系統(tǒng)先天不足,安裝完系統(tǒng),就有兩大錯誤。
網(wǎng)絡(luò)電影,在線電視都不行。
WINplayer 9打開時提示如圖:
查了很久,找到方法:開始--運行--輸入”regsvr32 jscript.dll“。問題解決。
系統(tǒng)故障解決小方法:regsvr32命令小集(不斷補充)
系統(tǒng)及系統(tǒng)自帶的軟件(如:ie,wmplayer等)出錯,大部分由于動態(tài)鏈接庫 (DLL) 文件或 ActiveX 控件 (OCX) 文件損壞,會導(dǎo)致各種系統(tǒng)故障,甚至重裝IE,甚至系統(tǒng),問題依舊.這時您可以使用 Regsvr32
工具修復(fù).
使用方法:開始→運行,輸入regsvr32 *.dll 或regsvr32 *.ocx
一、輕松修復(fù)IE瀏覽器
regsvr32 Shdocvw.dll
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
regsvr32 jscript.dll
同時運行以上命令可以解決以下IE問題:
IE不能打開新的窗口,用鼠標(biāo)點擊超鏈接也沒有任何反應(yīng)的問題;網(wǎng)頁顯示不完整,JAVA效果不出現(xiàn),網(wǎng)頁不自動跳轉(zhuǎn),打開某些網(wǎng)站時總提示‘無法顯示該頁’;狀態(tài)欄顯示‘網(wǎng)頁上有錯誤’的提示。
二、Windows無法在線升級
----regsvr32 wupdinfo.dll
三.XP系統(tǒng)的搜索功能、幫助和支持.管理工具等,打開無任何反應(yīng)------regsvr32 shdocvw.dll
四.控制面板中的添加/刪除程序時,雙擊它的圖標(biāo)后無反應(yīng),或者打開后自動關(guān)閉了或打開后一片空白.
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
五.文件夾中不使用縮略圖查看文件
2000: regsvr32 C:\Winnt\System32\thumbvw.dll
XP: regsvr32 shimgvw.dll
六.搜索’功能的搜索助理操作面板空白及系統(tǒng)還原功能無法使用等。如圖1
解決方法:regsvr32 vbscript.dll
regsvr32 jscript.dll
七.WINplayer 9打開時提示‘出現(xiàn)內(nèi)部應(yīng)用程序錯誤’,如圖2:
regsvr32 jscript.dll
八. 恢復(fù)Windows默認(rèn)的文件關(guān)聯(lián)
rundl32l setup.dll,InstallHinfSection DefaultInstall 132 c:\windows\inf\shell.in
regsvr32.exe /i shdocvw.dll
regsvr32 /i shell32.dll
regsvr32.exe /i shdoc401.dll 九:內(nèi)存不能讀寫,如圖2。
除去硬件原因:如內(nèi)存不兼容等。軟件原因大部分也是.dll文件損壞。
當(dāng)然如果是個別軟件運行時出現(xiàn)這個問題,重裝那個軟件看看能不能解決。
需要修復(fù)的.DLL文件如下:
regsvr32 actxprxy.dll
regsvr32 shdocvw.dll
regsvr32 oleaut32.dll
regsvr32 actxprxy.dll
regsvr32 mshtml.dll
regsvr32 msjava.dll
regsvr32 browseui.dll
regsvr32 urlmon.dll
注1:一個重要參數(shù) /U(卸載.DLL或.ocx文件,導(dǎo)致系統(tǒng)錯誤)
如:regsvr32 /u jscript.dll 就會出現(xiàn)上圖七中的錯誤.
注2:有的系統(tǒng)故障要用注冊很多個.dll文件,可以用記事本建一個文件,把那些命令拷貝進(jìn)去.然后另存為"修復(fù).bat",運行"修復(fù).bat"就可以修復(fù)了.
我的修復(fù).bat,注冊上面的所有.dll文件
regsvr32 Shdocvw.dll
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
regsvr32 jscript.dll
regsvr32 wupdinfo.dll
rundll32 setup.dll,InstallHinfSection DefaultInstall 132 c:\windows\inf\shell.inf
regsvr32.exe /i shdocvw.dll
regsvr32 /i shell32.dll
regsvr32.exe /i shdoc401.dll
regsvr32 shdocvw.dll
regsvr32 vbscript.dll
各類.DLL文件修復(fù)打包,可以
下載試試。
注:如果你直接運行.BAT文件,會出現(xiàn)很多注冊成功或失敗的窗口,你要點的半死。
方法:運行————CMD。右鍵點擊這個.BAT文件,在右鍵菜單中選擇編輯。出現(xiàn)記事本窗口,把.BAT的內(nèi)容復(fù)制,粘貼到CMD窗口。這樣你
不需一次次點擊確定。等全部注冊完,關(guān)閉組就可以了
寫在最后
至此,Regsvr32就給大家介紹完了,不知道對大家有沒有幫助。其實,Regsvr32的用處豈止上面幾個實例,它還能修復(fù)損壞的Windows自動更新,修復(fù)損壞的“我的文檔”,還可以讓W(xué)indows Media播放器支持RM這樣的文件格式。限于篇幅有限,在此就不一一介紹了,有興趣的朋友也可以參考相關(guān)的其他文章,當(dāng)然要是有了更好的方法,也要記著和大家一起切磋啊。