Regsvr32的特殊作用
初識Regsvr32
想必Regsvr32大家一定都不陌生吧,在一些電腦教程或電腦雜志上總能看到它的身影,可如此一個高出鏡率的 “小明星”在我們很多人的眼里卻顯得十分的神秘,原來一般的文章都很少對它進行介紹,最多只是了了幾句介紹一下如何用它解決常見問題,好多朋友可能都已經(jīng)在一些文章的指導下使用過好多次Regsvr32了,但對它的“身世”卻依然不了解,今天筆者就借這篇文章打消大家腦海里的疑團,帶大家一起去認識一下這個Regsvr32。Regsvr32的背景與功能
Regsvr32是一個Windows系統(tǒng)的內(nèi)嵌程序,不僅存在于Windows 2000 / XP下,同時也能在Windows 98中找到它的身影。它的主要功能就是注冊或卸載動態(tài)鏈接庫文件(DLL)和嵌入式控件(OCX),您可別小看了它呀,有了它,很多軟件或操作系統(tǒng)的難題就都可以迎刃而解了。
基礎篇
剛才咱們說到了DLL和OCX,估計在好多的讀者心里都會冒出這樣一個問題,這兩個東東究竟是什么意思?它們究竟能干什么呢?別急,下面就聽筆者慢慢道來。
DLL文件:DLL文件全稱是Dynamic Link Library,中文名字叫做“動態(tài)鏈接庫文件”。在Windows系統(tǒng)中,DLL文件就象EXE文件一樣能夠完成某項功能,但它卻無法像EXE文件那樣獨立運行,必須由其他程序來調(diào)用它,而它對于程序的執(zhí)行也是非常重要的,大多數(shù)的程序或系統(tǒng)組件在執(zhí)行時,都必須鏈接到DLL文件才能正常運行。換言之,DLL文件就像是數(shù)據(jù)庫中一個個公用的函數(shù)庫,每位設計人員都可以在自己的程序中隨意調(diào)用它們,這樣,不僅不用自己再去編寫一些基礎功能(因為這些功能都已經(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)用,還要進行一次注冊呢?其實,這里注冊DLL文件的道理就像是我們第一次入學,雖然你坐在教室里,但是如果沒有寫你的檔案,老師是不會認識你的,自然也就不會找到你。同樣道理,如果DLL文件沒有注冊,系統(tǒng)注冊表中就沒有這個DLL文件的相關信息,雖然它已經(jīng)存在于我們的硬盤上,但等到調(diào)用的時候,系統(tǒng)也就根本找不到這個DLL文件而只能報告沒有這個DLL存在了,所以在這個時候就需要我們注冊DLL文件了。
【小提示】 Windows系統(tǒng)的DLL因為在安裝時已經(jīng)注冊好了,因此不用注冊,但是如果因為某種情況系統(tǒng)無法識別這些DLL文件時,還是需要我們手動再注冊一遍。
Regsvr32命令格式
說完了上面這些,想必好多朋友都聽得有點懵了,別急,知道了上面這些知識,下面咱們再學習Regsvr32命令就容易多了。大家知道,凡是命令肯定都有一個格式,Regsvr32也不例外。我們以Windows XP為例,在“開始”菜單→“運行”欄中執(zhí)行“CMD”命令,打開命令提示行窗口,輸入Regsvr32命令后回車,就會看到Regsvr32的命令格式“Regsvr32 [ /u ][ /s ][ /n ][ /i [ :cmdline ] ] dll文件名”,如圖1所示。
圖1由上可知,Regsvr32命令一共有四個參數(shù),分別是:
/s:注冊或卸載成功后不顯示操作成功的提示框
/u:卸載已安裝的控件或DLL文件
/n:不調(diào)用DLLRegisterServer,要注意這個參數(shù)應與/i一同使用
/i:調(diào)用DLLInstall,并給其傳遞一個可選的[ cmdline ];當使用/u時用來卸載DLL
命令的講解往往都枯燥難懂,下面咱們就借助一個實例來進一步了解Regsvr32的命令格式。比如我們想注冊一個保存在C:\Folder目錄中的shmedia.dll動態(tài)鏈接庫文件,那么執(zhí)行的命令就應該是“Regsvr32 c:\folder\shmedia.dll”,而如果注冊過后打算卸載時就更簡單了,執(zhí)行命令“Regsvr32 /u c:\folder\shmedia.dll”就行了。如圖2所示就是正常完成任務的提示窗口
圖2常見錯誤提示
使用Regsvr32命令久后,大家也許會經(jīng)??吹礁鞣N各樣的錯誤提示,這里筆者就找了一些比較有代表性的錯誤,幫大家來分析分析。錯誤一:未指定DLL文件的具體路徑,如圖2所示
圖3這種錯誤比較常見,一般出現(xiàn)在注冊非系統(tǒng)DLL文件時,原因就是Regsvr32程序在默認路徑找不到指定的DLL文件,無法正常完成注冊。解決的辦法也很簡單,只要在命令中指定好DLL文件的具體存儲路徑就行了,比如“Regsvr32 c:\folder\abc.dll”就是一個正常的命令。
錯誤二:要注冊的文件類型錯誤,如圖3所示
圖4這種錯誤比較少,但容易在新手上出現(xiàn),原因就是用戶欲注冊的文件根本就不是一個正常的DLL文件或OCX文件,Regsvr32根本無法完成注冊。解決的方法就是指定一個正常的DLL文件或OCX文件就行了。比如原命令為“Regsvr32 c:\abc\abc.txt”,而正確的命令就應該是“Regsvr32 c:\abc\abc.dll”(當然,也得保證這個abc.dll文件已存在并完全正確)
錯誤三:鍵入的命令中未寫明DLL文件名,如圖4所示
圖5這種錯誤和上例一樣也是主要出現(xiàn)在新手上,它的原因就是根本沒有指定DLL文件名,這樣Regsvr32自然也就無法得知要對什么進行操作了,所以才會彈出這個提示來。解決的辦法就是指定要操作的DLL文件或OCX文件即可。
實例演練
說了這么多,大家應該對這個Regsvr32命令的功能很清楚了,下面咱們就以幾個常見的實例來結(jié)束這篇文章。實例一:卸載Windows XP自帶的ZIP文件夾顯示功能
大家可能都知道在Windows XP中默認可以顯示ZIP文件夾(壓縮文件夾),但問題是大多數(shù)的朋友卻一直在使用第三方解壓縮軟件WinRAR或WinZip,這樣XP默認的那個ZIP文件夾顯示功能就成了擺設,白白的浪費了大量的系統(tǒng)資源。其實,我們就可以利用剛剛學到的Regsvr32命令來卸載它。
進入命令提示符窗口,執(zhí)行命令:Regsvr32 /u zipfldr.dll 即可。當然如果卸載后還想再啟用(估計很少有朋友會這么做),只要再執(zhí)行一遍Regsvr32 zipfldr.dll命令就行了。
實例二:卸載Windows圖片預覽功能
圖片預覽功能和上面所說的ZIP文件顯示功能如出一轍,在強大的第三方圖片軟件的威脅下,Windows自帶的圖片預覽功能基本上就和雞肋一般,沒有任何優(yōu)勢可言。我們自然也就可以“卸它沒商量”。
進入命令提示符窗口,執(zhí)行命令:Regsvr32 /u shimgvw.dll即可。當然再次啟用的方法和前面一樣,也是Regsvr32 shimgvw.dll。
實例三:修復損壞的IE瀏覽器
好多朋友都有過這樣的遭遇,IE鏈接點擊無效,無法正常打開新窗口,按照以前的作法,基本上重裝一遍IE肯定能解決問題,但這種方法既費時間也費精力,倒不如直接用Regsvr32命令來試試呢。
進入命令提示符窗口,執(zhí)行命令:Regsvr32 actxprxy.dll,待正常報告窗口彈出后,再次執(zhí)行命令:regsvr32 shdocvw.dll,再等待正常報告彈出后,繼續(xù)執(zhí)行命令:Regsvr32 Oleaut32.dll,等最后這次正常報告彈出后,您就可以重新打開IE試試了,怎么樣?保準讓你喜出望外。
實例四:卸載XP的影像預覽功能也很簡單
同上面所說的圖片預覽功能一樣,XP的影像預覽功能(即視頻文件預覽功能)也可以讓我們自由地注冊與卸載。
進入命令提示符窗口,執(zhí)行命令:Regsvr32 /u shmedia.dll即可成功地卸載XP默認的影像預覽功能,當然去掉/U參數(shù),即Regsvr32 shmedia.dll命令又可以將影像預覽功能重新注冊上。
【小提示】 以上幾個實例均是將這些系統(tǒng)功能反注冊,以使系統(tǒng)無法使用到這些功能,并沒有刪除掉任何系統(tǒng)文件,因此我們也就可以輕松地重新注冊這些功能,整個過程都是可逆的,請大家放心試用
寫在最后
至此,Regsvr32就給大家介紹完了,不知道對大家有沒有幫助。其實,Regsvr32的用處豈止上面幾個實例,它還能修復損壞的Windows自動更新,修復損壞的“我的文檔”,還可以讓Windows Media播放器支持RM這樣的文件格式。限于篇幅有限,在此就不一一介紹了,有興趣的朋友也可以參考相關的其他文章,當然要是有了更好的方法,也要記著和大家一起切磋啊。