最近一段時間在研究組建COM組件,糾結了好久,其中個人感覺這個組建的設計方法就和類一樣,都是將所有的函數封裝起來,用戶只要提供合適的參數,而程序給用戶提供接口就可以實現功能,這樣一來,組建的運行效率高,更便於使用和管理
怎樣註冊-反註冊 ActiveX EXE
regsvr32.exe使用詳解:
regsvr32.exe是32位系統下使用的DLL註冊和反註冊工具,使用它必須通過命令行的方式使用,格式是:
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL文件名
命令可以在“開始→運行”的文本框中,也可以事先在bat批處理文檔中編寫好命令。 未帶任何參數是註冊DLL文件功能,其它參數對應功能如下:
/u:反註冊DLL文件;
/s:安靜模式(Silent)執行命令,即在成功註冊/反註冊DLL文件前提下不顯示結果提示框。
/c:控制端口;
/i:在使用/u反註冊時調用DllInstall;
/n:不調用DllRegisterServer,必須與/i連用。
單獨運行regsvr32.exe程序,可以看到彈出一“No DLL name specified”的錯誤提示框,並且可以看到參數原英文提示信息
輸入DLL文件名時,如果待處理的是非系統文件,必須在文件名前添加文件絕對路徑,必須注意的是文件路徑不包含中文,否則很可能導致處理失敗。如果碰到regsvr32不能正常執行時,很可能系統文件遭到破壞,因爲使用regsvr32.exe時會調用到Kernel32.dll、User32.dll和Ole32.dll三個文件,在DOS模式或其它系統替換正常文件即可解決。
ActiveX註冊和反註冊工具——regsvr32
使用過ActiveX的人都知道,ActiveX不註冊是不能夠被系統識別和使用的,一般安裝程序都會自動地把它所使用的ActiveX控件註冊,但是如果您拿到一個控件時,需要手動註冊怎麼辦呢?如果修改註冊表,那就太麻煩了,在Windows的System文件夾下有一個regsvr32.exe的程序,它就是Windows自己帶的ActiveX註冊和反註冊工具。它的用法爲:
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
其中dllname爲ActiveX控件文件名,建議在安裝前拷貝到System文件夾下。
參數有如下意義:
/u - 反註冊控件
/s - 不管註冊成功與否,均不顯示提示框
/c - 控制檯輸出
/i - 跳過控件的選項進行安裝 (與註冊不同)
/n - 不註冊控件,此選項必須與/i 選項一起使用
如筆者要註冊一amovie.ocx控件,則打入 regsvr32 amovie.ocx即可,要反註冊它時只需使用 regsvr32 /u amovie.ocx就行了。
win9x、win2000中Ocx與Dll等組建是如何註冊的,怎樣使用註冊表管理API函數實現指定目錄下的Ocx與Dll文件的註冊與反註冊(註銷)?
解答:
註冊 regsvr32 "組件文件名"
反註冊 regsver32 "組件文件名" /u
帶上 /t參數不顯示返回消息。
對於 ActiveX DLL 文件,
註冊: regsvr32.exe XXX.DLL
反註冊: regsvr32.exe /u XXX.DLL
對於 ActiveX EXE 文件,
註冊: XXX.exe /regserver
反註冊: XXXX.exe /unregserver