原文:windows 註冊和取消註冊乙個dll或者ocx
一、dll是什麼
dll,是dynamic link library 的縮寫形式,中文名稱為動態鏈結庫。
dll是乙個包含可由多個程式同時使用的**和資料的庫,dll不是可執行檔案。動態鏈結提供了一種方法,使程序可以呼叫不屬於其可執行**的函式。函式的可執行**位於乙個 dll 中,該 dll 包含乙個或多個已被編譯、鏈結並與使用它們的程序分開儲存的函式。dll 還有助於共享資料和資源。多個應用程式可同時訪問記憶體中單個dll 副本的內容。dll 是乙個包含可由多個程式同時使用的**和資料的庫。
二、ocx是什麼
ocx是ocx控制項的簡稱。ocx控制項全稱為物件類別擴充元件(object linking and embedding (ole) control extension)。
它的作用其實和剛才談到的dll檔案特別相像,其實所謂的ole我們平時已經非常熟悉了,簡單地說就像在word中可以使用excel資料,寫字板中可以嵌入檔案等等這些功能。打個比方的話,剪貼簿就像是個簡單的資料共享,而ole則是一種「物件共享」。
控制項的本質是微軟公司的物件鏈結和嵌入(ole)標準。由於它充分利用了物件導向的優點,使得程式效率得到了很大的提高,從而得到了廣泛的應用。國外有很多公司就是專門製作各種各樣控制項的。控制項的最早形式是以.vbx的格式出現的,後來變成了.ocx。
三、為什麼要註冊dll和ocx
如果dll檔案或者ocx檔案沒有註冊,系統登錄檔中就沒有這個dll檔案或者ocx檔案資訊.那麼等到呼叫的時候,因為不知道這個dll檔案或者ocx檔案的位置,只能報告沒有這個dll或者ocx檔案.所以這時候就需要註冊dll了.
dll檔案或者ocx檔案註冊後會在登錄檔裡生成該元件的唯一guid號碼,程式引用的這個元件才能找到dll或者ocx檔案,才能使用該dll或者ocx元件的功能
【小提示】 windows系統的dll因為在安裝時已經註冊好了,因此不用註冊,但是如果因為某種情況系統無法識別這些dll檔案時,還是需要我們手動再註冊一遍。
三、通過命令註冊或者取消註冊dll或ocx
開始--執行--cmd,開啟命令列工具。
註冊命令: regsvr32 [dll或者ocx的絕對路徑] 該路徑可以複製,也可以直接將ocx或者dll檔案拖入cmd視窗,自動得到路徑,較為方便。
取消註冊命令:regsvr32 /u [dll或者ocx的絕對路徑]
四、新增右鍵快捷選單來註冊dll或ocx
經常要註冊或者取消dll與ocx,老是輸入cmd命令太麻煩,於是新建兩個右鍵快捷選單,方便多了。
1、開啟登錄檔 依次開啟 「開始/執行」,輸入「regedit」
2、新增右鍵註冊dll元件快捷選單 依次開啟「hkey_classes_root\dllfile」,右鍵選擇「新建項」,新建項「shell」(如果已經有了則不用新建),再在其下以同樣的方法新建「register」。其中,「register」就是對.dll或.ocx右鍵彈出的選單中項名,再在其下建「command」,雙擊「預設值」將其改為「regsvr32 %1」。
3、新增右鍵取消註冊dll元件快捷選單 依次開啟「hkey_classes_roor\dllfile\shell」,右鍵選擇「新建項」,新建項「unregister」。其中,「unregister」就是對.dll或.ocx右鍵彈出的選單中的選項名,再在其下建「command」,雙擊「預設值」將其改為「regsvr32 %1 /u」。
4、對ocx的註冊和取消註冊 同理,需要注意的是把上面2和3中的「dllfile」改為「ocxfile」即可。
5、桌面f5重新整理。找乙個dll或者ocx檔案,右鍵試一下吧。多方便!
6、鄭重宣告:該方法對路徑中有空格的失效,比如路徑名中包含c:/program files的。只能通過cmd命令搞定。
(通過新增雙引號已解決,如)
[hkey_classes_root\dllfile\shell\register dll\command]
@="regsvr32 %1"
改為[hkey_classes_root\dllfile\shell\register dll\command]
@="regsvr32\"%1\""
7、至於刪除右鍵選單,在登錄檔刪除對應項即可
注:也可以複製以下檔案到記事本,然後儲存成.reg檔案執行即可
新增右鍵選單
windows registry editor version 5.00
[hkey_classes_root\dllfile\shell\register dll\command]
@="regsvr32 %1"
[hkey_classes_root\dllfile\shell\unregister dll\command]
@="regsvr32 /u %1"
[hkey_classes_root\ocxfile\shell\register ocx\command]
@="regsvr32 %1"
[hkey_classes_root\ocxfile\shell\unregister ocx\command]
@="regsvr32 /u %1"
windows registry editor version 5.00[hkey_classes_root\dllfile\shell\register dll\command]
@="regsvr32 \"%1\"
"[hkey_classes_root\dllfile\shell\unregister dll\command]
@="regsvr32 /u \"%1\"
"[hkey_classes_root\ocxfile\shell\register ocx\command]
@="regsvr32 \"%1\"
"[hkey_classes_root\ocxfile\shell\unregister ocx\command]
@="regsvr32 /u \"%1\"
"
刪除右鍵選單
windows registry editor version 5.00
[-hkey_classes_root\dllfile\shell\]
[-hkey_classes_root\ocxfile\shell\]
Windows 註冊和取消註冊乙個dll或者ocx
一 dll是什麼 dll,是dynamic link library 的縮寫形式,中文名稱為動態鏈結庫。dll是乙個包含可由多個程式同時使用的 和資料的庫,dll不是可執行檔案。動態鏈結提供了一種方法,使程序可以呼叫不屬於其可執行 的函式。函式的可執行 位於乙個 dll中,該 dll 包含乙個或多個...
Windows 註冊和取消註冊乙個dll或者ocx
原文 windows 註冊和取消註冊乙個dll或者ocx 一 dll是什麼 dll,是dynamic link library 的縮寫形式,中文名稱為動態鏈結庫。dll是乙個包含可由多個程式同時使用的 和資料的庫,dll不是可執行檔案。動態鏈結提供了一種方法,使程序可以呼叫不屬於其可執行 的函式。函...
註冊和取消EventHandler 事件繫結
通常註冊事件處理程式有三種方式 通過部署 feature,以 xml 宣告方式註冊到指定列表模板 通過部署 feature,以 xml 宣告方式註冊到指定內容模型 通過程式設計,訪問 splist spweb.eventreceivers 屬性的 add 方法動態註冊 這裡展示第三種方法。priva...