Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> XP系統基礎知識 >> window xp用好Regsvr32 解決系統疑難雜症

window xp用好Regsvr32 解決系統疑難雜症

日期:2017/1/24 11:43:36      編輯:XP系統基礎知識
初識Regsvr32 

  想必Regsvr32大家一定都不陌生吧,在一些電腦教程或電腦雜志上總能看到它的身影,可如此一個高出鏡率的 “小明星”在我們很多人的眼裡卻顯得十分的神秘,原來一般的文章都很少對它進行介紹,最多只是了了幾句介紹一下如何用它解決常見問題,好多朋友可能都已經在一些文章的指導下使用過好多次Regsvr32了,但對它的“身世”卻依然不了解,今天筆者就借這篇文章打消大家腦海裡的疑團,帶大家一起去認識一下這個Regsvr32。 

  Regsvr32的背景與功能 

  Regsvr32是一個Windows系統的內嵌程序,不僅存在於Windows 2000 / XP下,幣材茉赪indows 98中找到它的身影。它的主要功能就是注冊或卸載動態鏈接庫文件(DLL)和嵌入式控件(OCX),您可別小看了它呀,有了它,很多軟件或操作系統的難題就都可以迎刃而解了。 

  基礎篇   

  剛才咱們說到了DLL和OCX,估計在好多的讀者心裡都會冒出這樣一個問題,這兩個東東究竟是什麼意思?它們究竟能干什麼呢?別急,下面就聽筆者慢慢道來。 

  DLL文件:DLL文件全稱是Dynamic Link Library,中文名字叫做“動態鏈接庫文件”。在Windows系統中,DLL文件就象EXE文件一樣能夠完成某項功能,但它卻無法像EXE文件那樣獨立運行,必須由其他程序來調用它,而它對於程序的執行也是非常重要的,大多數的程序或系統組件在執行時,都必須鏈接到DLL文件才能正常運行。換言之,DLL文件就像是數據庫中一個個公用的函數庫,每位設計人員都可以在自己的程序中隨意調用它們,這樣,不僅不用自己再去編寫一些基礎功能(因為這些功能都已經由DLL文件完成了),而且還可以讓程序的體積更加小巧。因此,如果某個DLL文件發生丟失,就有可能造成某個軟件或某個系統模塊發生故障而無法正常工作。 

  OCX文件:OCX文件的全稱是Object Linking and Embedding (OLE) Control Extension,中文名字叫做“嵌入式對象控件”,它的作用其實和剛才談到的DLL文件特別相像,其實所謂的OLE我們平時已經非常熟悉了,簡單地說就像在Word中可以使用Excel數據,寫字板中可以嵌入圖片文件等等這些功能。打個比方的話,剪貼板就像是個簡單的數據共享,而OLE則是一種“對象共享”。 

  剛才我們談到Regsvr32的功能是注冊與卸載DLL文件的,那麼現在又有一個問題困擾著我們,既然DLL文件起到的就是公用函數庫的作用,為什麼我們不能直接在程序裡調用,還要進行一次注冊呢?其實,這裡注冊DLL文件的道理就像是我們第一次入學,雖然你坐在教室裡,但是如果沒有寫你的檔案,老師是不會認識你的,自然也就不會找到你。同樣道理,如果DLL文件沒有注冊,系統注冊表中就沒有這個DLL文件的相關信息,雖然它已經存在於我們的硬盤上,但等到調用的時候,系統也就根本找不到這個DLL文件而只能報告沒有這個DLL存在了,所以在這個時候就需要我們注冊DLL文件了。 

  【小提示】 Windows系統的DLL因為在安裝時已經注冊好了,因此不用注冊,但是如果因為某種情況系統無法識別這些DLL文件時,還是需要我們手動再注冊一遍。 

  Regsvr32命令格式    

  說完了上面這些,想必好多朋友都聽得有點懵了,別急,知道了上面這┲叮旅嬖勖竊傺癛egsvr32命令就容易多了。 

  大家知道,凡是命令肯定都有一個格式,Regsvr32也不例外。我們以Windows XP為例,在“開始”菜單→“運行”欄中執行“CMD”命令,打開命令提示行窗口,輸入Regsvr32命令後回車,就會看到Regsvr32的命令格式“Regsvr32 [ /u ][ /s ][ /n ][ /i [ :cmdline ] ] dll文件名”, 

  由上可知,Regsvr32命令一共有四個參數,分別是: 

  /s:注冊或卸載成功後不顯示操作成功的提示框 

  /u:卸載已安裝的控件或DLL文件 

  /n:不調用DLLRegisterServer,要注意這個參數應與/i一同使用 

  /i:調用DLLInstall,並給其傳遞一個可選的[ cmdline ];當使用/u時用來卸載DLL 

  命令的講解往往都枯燥難懂,下面咱們就借助一個實例來進一步了解Regsvr32的命令格式。比如我們想注冊一個保存在C:\Folder目錄中的shmedia.dll動態鏈接庫文件,那麼執行的命令就應該是“Regsvr32 c:\folder\shmedia.dll”,而如果注冊過後打算卸載時就更簡單了,執行命令“Regsvr32 /u c:\folder\shmedia.dll”就行了。如圖2所示就是正常完成任務的提示窗口 

  常見錯誤提示 

  使用Regsvr32命令久後,大家也許會經常看到各種各樣的錯誤提示,這裡筆者就找了一些比較有代表性的錯誤,幫大家來分析分析。 

  錯誤一:未指定DLL文件的具體路徑 

  這種錯誤比較常見,一般出現在注冊非系統DLL文件時,原因就是Regsvr32程序在默認路徑找不到指定的DLL文件,無法正常完成注冊。解決的辦法也很簡單,只要在命令中指定好DLL文件的具體存儲路徑就行了,比如“Regsvr32 c:\folder\abc.dll”就是一個正常的命令。 

  錯誤二:要注冊的文件類型錯誤 

  這種錯誤比較少,但容易在新手上出現,原因就是用戶欲注冊的文件根本就不是一個正常的DLL文件或OCX文件,Regsvr32根本無法完成注冊。解決的方法就是指定一個正常的DLL文件或OCX文件就行了。比如原命令為“Regsvr32 c:\abc\abc.txt”,而正確的命令就應該是“Regsvr32 c:\abc\abc.dll”(當然,也得保證這個abc.dll文件已存在並完全正確) 

  錯誤三:鍵入的命令中未寫明DLL文件名 

  這種錯誤和上例一樣也是主要出現在新手上,它的原因就是根本沒有指定DLL文件名,這樣Regsvr32自然也就無法得知要對什麼進行操作了,所以才會彈出這個提示來。解決的辦法就是指定要操作的DLL文件或OCX文件即可。 

  常見錯誤提示 

  使用Regsvr32命令久後,大家也許會經常看到各種各樣的錯誤提示,這裡筆者就找了一些比較有代表性的錯誤,幫大家來分析分析。 

  錯誤一:未指定DLL文件的具體路徑 

  這種錯誤比較常見,一般出現在注冊非系統DLL文件時,原因就是Regsvr32程序在默認路徑找不到指定的DLL文件,無法正常完成注冊。解決的辦法也很簡單,只要在命令中指定好DLL文件的具體存儲路徑就行了,比如“Regsvr32 c:\folder\abc.dll”就是一個正常的命令。 

  錯誤二:要注冊的文件類型錯誤 

  這種錯誤比較少,但容易在新手上出現,原因就是用戶欲注冊的文件根本就不是一個正常的DLL文件或OCX文件,Regsvr32根本無法完成注冊。解決的方法就是指定一個正常的DLL文件或OCX文件就行了。比如原命令為“Regsvr32 c:\abc\abc.txt”,而正確的命令就應該是“Regsvr32 c:\abc\abc.dll”(當然,也得保證這個abc.dll文件已存在並完全正確) 

  錯誤三:鍵入的命令中未寫明DLL文件名 

  這種錯誤和上例一樣也是主要出現在新手上,它的原因就是根本沒有指定DLL文件名,這樣Regsvr32自然也就無法得知要對什麼進行操作了,所以才會彈出這個提示來。解決的辦法就是指定要操作的DLL文件或OCX文件即可。
Copyright © Windows教程網 All Rights Reserved