注冊ocx
『壹』 批處理文件注冊OCX
@echo offcolor 0aclsfor /r %%i in (*.ocx) do (echo Registering %%~nxi...regsvr32 /s %%i )echo Done! 把以上內容保存為bat文件. 然後放到你的OCX所在的目錄下運行就好專.本批處理將注屬冊當前目錄下的所有ocx
『貳』 不能注冊DLL/OCX
文件Regsvr32用法及情況介紹
使用過activex的人都知道,activex不注冊是不能夠被系統識別和使用的,一般安裝程序都會自動地把它所使用的activex控制項注冊,但如果你拿到的一個控制項需要手動注冊怎麼辦呢?如果修改注冊表那就太麻煩了,在windows的system文件夾下有一個regsvr32.exe的程序,它就是windows自帶的activex注冊和反注冊工具。
一、regsvr32的用法為:
「regsvr32 [/s] [/n] [/i(:cmdline)] dllname」。其中dllname為activex控制項文件名,建議在安裝前拷貝到system文件夾下。
參數有如下意義:
/u——反注冊控制項
/s——不管注冊成功與否,均不顯示提示框
/c——控制台輸出
/i——跳過控制項的選項進行安裝(與注冊不同)
/n——不注冊控制項,此選項必須與/i選項一起使用
執行該命令的方法:
1、可以在「開始」--「運行」,調出運行的對話框,也可以使用Win+R熱鍵,然後直接在輸入欄輸入即可
2、在開始--運行 輸入cmd,調出『命令提示符』窗口,然後再執行regsvr32命令。
二、Regsvr32錯誤消息的說明
當使用 Regsvr32.exe 時,它會嘗試載入該組件並調用它的 DLLSelfRegister 函數。如果此嘗試成功,Regsvr32.exe 會顯示一個指示成功的對話框。如果此嘗試失敗,Regsvr32.exe 會返回一條錯誤消息,其中可能會包括一個 Win32 錯誤代碼。
以下列表介紹了 RegSvr32 錯誤消息和可能的原因。
Unrecognized flag:/invalid_flag
鍵入的標志或開關組合無效(請參閱本文中的「Regsvr32.exe 的用法」一節)。
No DLL name specified.
未包括 .dll 文件名(請參閱本文中的「Regsvr32.exe 的用法」一節)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 不是 .dll 或 .ocx 文件。例如,鍵入 regsvr32 wjview.exe 就會生成該錯誤消息。
Dllname is not an executable file and no registration helper is registered for this file type.
Dllname 不是可執行文件(.exe、.dll 或 .ocx)。例如,鍵入 regsvr32 autoexec.bat 就會生成該錯誤消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 可能未導出,或者內存中可能有損壞的 Dllname 版本。請考慮使用 Pview 來檢測該文件並刪除它。
Dllname is not self-registerable or a corrupted version is in memory.
例如,鍵入 regsvr32 icwdial.dll 後就會返回該錯誤消息,因為 Icwdial.dll 文件不能自行注冊。
如果您懷疑內存中有損壞的 Dllname 版本,請嘗試重新啟動計算機,或重新提取該文件的原始版本。
如果您運行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 資源工具包 中的 Kill 或 Pview 工具。有關其他信息,請單擊以查看以下 Microsoft 知識庫文章: 197155 如何終止孤立進程
OleInitialize failed (or OleUninitialize failed).
Regsvr32 必須先初始化 COM 庫,然後才能調用所需的 COM 庫函數並在關閉時撤消對該庫的初始化。
如果對 COM 庫進行初始化或撤消初始化的嘗試失敗,就會出現這些錯誤消息。例如,Ole32.dll 文件
可能已經損壞,或者其版本有誤。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485
在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示「找不到運行該應用程序所需的某個庫文件」。例如,鍵入 regsvr32 missing.dll 後,如果找不到 Missing.dll 文件,就會返回該錯誤消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002
在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示「系統找不到指定的文件」。換言之,系統找不到相關的 DLL。例如,如果鍵入 regsvr32 icwdial.dll,而此時缺少 Tapi32.dll(依賴項),就會返回該錯誤消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示「附加到系統上的設備不能正常工作」。如果您嘗試注冊 Win16 .dll 文件,就會發生此現象。例如,鍵入 regsvr32 dskmaint.dll 會返回該錯誤消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代碼是:字元串
在 Winerror.h 中搜索字元串。
Regsvr32.exe 和依賴項
RegSvr32.exe 依賴於 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,還依賴於 Msvcrt.dll 和 Advapi32.dll 文件)。Regsvr32.exe 會載入您嘗試注冊或撤消注冊的文件及其所有依賴項。如果缺少必需的文件或者它們已損壞,該進程可能會失敗。
您可以使用 Depends.exe 來確定您嘗試注冊或撤消注冊的文件的依賴項。在 Microsoft Windows 98 資源工具包 和 Microsoft Windows NT 4.0 資源工具包 支持工具中都提供了 Depends.exe。
247024 Tools Included with the Microsoft Windows 98 Resource Kit
三、一個快速注冊 DLL 及 OCX 的方法
注意看羅!方法如下:
1、在資源管理器中找到 C:\Windows\System\Regsvr32.exe 並【復制】 ( 按滑鼠右鍵選復制 )
2、將目錄移到 C:\Windows\SendTo 後,執行【貼上快捷方式】 ( 按滑鼠右鍵選貼上快捷方式 )
3、將快捷方式名稱改成【REGISTER】
4、OK
現在,如果您想替某一個文件做注冊動作,例如:C:\Windows\System\Test.ocx,您只要打開資源管理器,找到 C:\Windows\System\Test.ocx,按滑鼠右鍵選【傳送到】【REGISTER】即可完成注冊動作了!
註:有一個地方要注意的是,Regsvr32.exe 只能注冊 32 位的文件!如果要用它來注冊 16 位的文件,會有錯誤訊息產生。
一、輕松修復IE瀏覽器
regsvr32 Shdocvw.dll
regsvr32 Oleaut32.dll
regsvr32 Actxprxy.dll
regsvr32 Mshtml.dll
regsvr32 Urlmon.dll
作用:
1、同時運行以上命令不僅可以解決IE不能打開新的窗口,用滑鼠點擊超鏈接也沒有任何反應的問題;
2、還能解決大大小小的其它IE問題,比如網頁顯示不完整,JAVA效果不出現,網頁不自動跳轉,打開某些網站時總提示『無法顯示該頁』等。
二、解決Windows無法在線升級的問題
regsvr32 wupdinfo.dll
作用:
Windows的漏洞很多,每隔一段時間就需要使用「Windows Update」升級程序進行在線升級,不過「Windows Update」經常出現無法使用的情況,這時,我們可以使用Regsvr32來解決這個問題。
三、防範網路腳本病毒有新招
regsvr32 /u scrrun.dll
作用:
網路腳本病毒嵌在網頁中,上網時在不知不覺中機器就會感染上這種病毒。筆者認為單純使用殺毒軟體並不能有效地防範這些腳本病毒,必須從病毒傳播的機理入手。網路腳本病毒的復制、傳播都離不開FSO對象(File System Object,文件系統對象),因此禁用FSO對象就能有效地控制腳本病毒的傳播。
如果需要使用FSO對象,鍵入「regsvr32 scrrun.dll」命令即可。
四、卸載Win XP自帶的ZIP功能
regsvr32 /u zipfldr.dll
作用:
Win XP以功能強大而著稱,但有些功能卻常常令人有「雞肋」之感,比如Win XP自帶的ZIP功能和圖片預覽功能,不僅佔用了系統資源,功能也遠不如第三方軟體強大。其實用Regsvr32命令可以很容易地卸載這些功能。
五、修復無法縮略圖查看文件問題
2000: 開始→運行,輸入regsvr32 C:\Winnt\System32\thumbvw.dll
XP: 開始→運行,輸入regsvr32 shimgvw.dll
六、讓WMP播放器支持RM格式
很多朋友喜歡用Windows Media Player(以下簡稱WMP)播放器,但是它不支持RM格式,難道非得安裝其它播放軟體嗎?筆者有辦法。
以Win XP為例,首先下載一個RM格式插件,解壓縮後得到兩個文件夾: Release(用於Windows 9x)和Release Unicode (用於Windows 2000/XP);將Release Unicode文件夾下的RealMediaSplitter.ax文件拷貝到「系統盤符\WINDOWS\System32\」目錄下;在「開始→運行」中鍵入「regsvr32 RealMediaSplitter.ax」,點擊「確定」即可。接著下載解碼器,如Real Alternative,安裝後就能用WMP播放RM格式的影音文件了。
七、讓WMP9的播放器出現
有些音樂網頁的在線點歌需要用到Media Player,有的朋友明明安裝了WMP9,但在線聽音樂卻只看到枯燥的WMP6播放器面板,想讓漂亮的WMP9面板出現,當然沒問題的。
常見問題的操作系統多數WIN 98,先關閉IE,再在「開始→運行」中鍵入「regsvr32 wmpdxm.dll」,點擊「確定」即可。
八、解決打開系統功能時無反應
regsvr32 shdocvw.dll
作用:
有時從開始菜單里點擊XP系統的搜索功能、幫助和支持或管理工具等,但就是無任何反應,這是它們的打開方式缺少關聯,所以我們只要用regsvr32注冊它們需要調用的動態連接庫文件就行了。
九、添加/刪除程序打不開了
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
作用:
當打開控制面板中的添加/刪除程序時,雙擊它的圖標後無反應,或者打開後自動關閉了,嘗試使用以上命令可以解決。
猜不透的神秘命令 - regsvr32 jscript.dll
1、跟上面講的修復IE瀏覽器方法配合使用,可以很好的解決瀏覽某些網頁顯示不完整,並且有可能解決IE狀態欄顯示『網頁上有錯誤』的提示。下圖以上網助手首頁為例:
Click here to open new window
2、跟命令regsvr32 vbscript.dll配合使用,修復個別窗口空白,如XP的『搜索』功能的搜索助理操作面板空白及系統還原功能無法使用等。
3、解決windows media player 9或以上版本打開時提示『出現內部應用程序錯誤』。
4、可以修復win 2000的『添加/刪除程序』打開後一片空白。
『叄』 如何注冊控制項
1.在VB環境中直接注冊
在VB5集成開發環境中,選擇「工程/部件」菜單,彈出「部件」對話框。在「控制項」頁中包含有系統中所有已注冊控制項的列表,為了注冊MyCtrl.ocx,可點擊列表框旁邊的「瀏覽」按鈕,並在「添加ActiveX 控制項」對話框中選中MyCtrl.ocx文件,按「確定」即可。這種方法的優點是注冊完的控制項可以直接加入到當前的工程中試用。但是有些擁有版權的控制項不能用該方法直接注冊。
2.利用REGSVR32工具注冊
在VB安裝盤的Tools\Regutils目錄下有三個用於注冊OLE控制項和DLL的工具,即REGSVR32.EXE、 REGOCX32.EXE和REGIT.EXE。
REGSVR32.EXE用於注冊OLE Server,包括OLE控制項和DLL;REGOCX32.EXE專用於注冊OCX控制項;REGIT.EXE用於一次注冊多個OLE Server。以REGSVR32.EXE為例,為注冊MyCtrl ocx,只須在命令行輸入REGSVR32 MyCtrl.ocx即可。而輸入REGSVR32 /u MyCtrl.ocx則可以注銷該控制項。與方法1類似,有些控制項不能直接用該法注冊。
3.直接在注冊表中進行注冊
事實上,在Windows系統中對控制項的注冊,就是在系統注冊表的主鍵HKEY_CLASSES_ROOT下添加相應控制項類的信息,如類的ID和版權信息等。這些信息是由系統維護的,用戶通常無法直接修改。不過,不少控制項的安裝程序能通過自動修改注冊表進行注冊。還有一些控制項的安裝盤中提供了手工修改注冊表的方法。例如,升級到VB5之後,VB4中的幾個常用的控制項,如Threed32.ocx、MSOutl32.ocx等都無法在開發環境中正常使用。其實,在VB5安裝盤的Tools\Controls目錄下有一個Vbctrls.reg的注冊文件,雙擊該文件後就可以將版權信息添加到注冊表中,從而實現控制項的注冊。
『肆』 如何卸載注冊的ocx
1、注冊
regsvr32 名稱.ocx
2、卸載
regsvr32 /u 名稱.ocx
3、注冊的BAT文件
@echo off
regsvr32 /s 名稱.ocx
if errorlevel 1 goto fail
echo 安裝完成。
goto end
:fail
echo 安裝失敗,請檢查文件是否存內在,並參閱說明文容檔。
:endpause
『伍』 如何注冊ocx文件
可以通過復制粘貼和輸入運行命令的方式進行注冊,具體操作步驟如下:
工具/原材料
win10電腦。
1、打開電腦後雙擊我的電腦並選擇本地磁碟C盤;
『陸』 windows server 2012 怎麼注冊ocx
zhwlywoi
2013-10-12 12:43
1 OCX問:我寫的系統中帶了OCX 控制項,當系統編譯後發行時必須帶上該OCX 控制項, 但在用戶的機子上必須注冊該OCX 控制項才能使用,否則程序運行會出錯,是否 答:提供以下幾種方法: (1)、在DOS 或Windows 命令行下運行:regsvr32 ocxname.OCX 注冊 (2)用Install Shield,在裡面選「Self-Registered」,安裝程序將自動注冊。 (3)在PB 應用程序中注冊:函數聲明:Function long DllRegisterServer() Library "ocxname.OCX"調用:LONG ll_RCll_RC = DllRegisterServer() 從PB 5.0 開始支持OCX,使用方法如下(在PB 5.0 自身的常式中就有關於OCX 的使用,如Formula One): 第一步:建立一個新Window,選擇菜單Controls->OLE, 然後選擇第三個tab 頁Insert Control,從列表中選擇你需要使用的OCX 控制項放 置到Window 上。 第二步:使用OCX 的方法(function)和屬性(properties),通 常OCX 的在線幫助都是對於 VB 和C 而言,而PB 中調用時,需要在對象名和方法/屬性之間加下Object,例 如: 調用方法
『柒』 如何注冊ActiveX控制項
[必備條件]
一、用於將ActiveX控制項進行打包並加數據鑒名的工具集:
makecert.exe 作cer格式的證書,即X.509證書,同時可以創建私鑰和公鑰。
cert2spc.exe 將cer格式證書轉換成spc格式證書,即PKCS #7證書。
cabarc.exe 將ocx打包成cab。
signcode.exe 將證書簽署到ocx上去。
chktrust.exe 檢查簽署證書後的ocx是否正確。
certmgr.exe 是管理證書用的。
二、用於進行打包用的ocx控制項evS1300.ocx。
三、用於查看ocx控制項的工具ActvxDoc。
[製作過程]
一、環境設置
1、下載makeCAB包,解壓到本地目錄(如E盤根目錄),如查看到如圖1所示的工具集,則表示已下載成功:
2、設置系統環境變數,右鍵單擊「我的電腦」à選擇「屬性」à選擇「高級」選項卡,打開系統屬性面版塊
3、在系統屬性版塊里單擊「環境變數(N)」按鈕
4、選擇「系統變數(S)」里的「新建(W)」按鈕,打開「編輯系統變數」對話框,然後在「變數值(V)」里加入「;E/makeCAB」:
二、將用於打包的OCX控制項放在E盤根目錄下(本文檔使用名為evS1300.ocx的控制項來進行介紹),其中evS1300.ocx是本文檔進行操作的控制項對象,而mfc71.dll、msvcp71.dll、msvcr71.dll這三個文件通常是進行打包時一並打包的文件,但不是必須(推薦一起打包),其可在系統中的system32目錄下找
到,請自行准備。
三、ActiveX發布步驟
1、單擊「開始」à「動行(R)」à輸入「cmd」à回車à進入到操作的控制項所在的目錄,如圖6所示:
2、創建PVK文件(私人密匙文件),在命令行中輸入「makecert -sk evS1300 evS1300.pvk -n CN=XXXXXXX公司」,然後回車
3、創建CER文件(公司證書),在命令行中輸入「makecert -sk evS1300.pvk evS1300.cer」,然後回車若出現「Successed」提示,則會在E:/evS1300目錄下生成evS1300.cer文件
4、創建SPC測試軟體出版商證明書,在命令行中輸入「cert2spc evS1300.cer evS1300.spc」,然後回車
5、創建INF文件,用記錄本編輯以下信息
[version]
signature="$CHINA$"
AdvancedINF=1.0
[Add.Code]
evS1300.ocx=evS1300.ocx
msvcr71.dll=msvcr71.dll
mfc71.dll=mfc71.dll
msvcp71.dll=msvcp71.dll
[evS1300.ocx]
file=thiscab
clsid={0440906E-9BD6-4F3E-B65A-39E1B339D9DA}
FileVersion=1,0,0,0
RegisterServer=yes
[msvcr71.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3052,4
[mfc71.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3077,0
[msvcp71.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=7,10,3077,0
在evS1300.inf的內容里,[version]和[Add.Code]項是必須的,[Add.Code]的鍵值項的多少取決於以下你所配製項的多少。[msvcr71.dll]、[mfc71.dll]、[msvcp71.dll]就是上面我所說不是必須的項,只要你想把msvcr71.dll、mfc71.dll、msvcp71.dll包括在發布包里,那這么三項就必須寫在inf里,而這三項的具體內容是固定的,可復制過去即可。最為關鍵的就是[evS1300.ocx]項,其中有clsid和FileVersion就是evS1300.ocx的classId和version,這要求必須一至,否我們發布出去的CAB包時不能在客戶端自動更新下載安裝。說到這里,那我們如何才能知道evS1300.ocx裡面的classId和version呢?我在上面的必備條件里介紹到有一個用於查看ocx控制項的工具ActvxDoc,對,就是用它,我們雙擊這個文件運行它,此時可以看到圖13所示的界面:
點擊「File」à「Open…」,打開您所要查看的OCX控制項
打開了控制項之後,我們在界面的右邊部位「Class」的下拉框里選擇「<all interfaces=""></all>」就可以看到我們想要查找的FileVersion和classId,如圖15所示:
6、創建CAB文件,在命令行中輸入「cabarc -s 6144 n evS1300.cab msvcr71.dll mfc71.dll msvcp71.dll evS1300.ocx evS1300.inf」,然後回車,
7、使用Code Signing Wizard簽署一個CAB文件,首先雙擊運行工具集裡面的signcode.exe(或在命令行里直接輸入「signcode」後回車),系統會彈出如圖17所示的數字簽名向導:
8、單擊「下一步(N)」按鈕,選擇要進行數字簽名的且已做成CAB包的文件evS1300.cab文件。
9、選擇好CAB包後單擊「下一步(N)」按鈕,在選擇想要的簽名類型里選擇「自定議(C)」並單擊「下一步(N)」按鈕
10、接下來單擊「從文件選擇(F)」按鈕,選擇剛剛製作的evS1300.cer
11、在圖20中單擊「下一步(N)」按鈕來到圖21,然後在圖21里選擇「CSP中的私鑰(K)」。
12、在圖21中單擊「下一步(N)」按鈕,然後在圖22中的散列演算法中選擇「shal」,並單擊「下一步(N)」按鈕。
13、在「證書路徑中的證書」中選擇「證書路徑中的所有證書,包括根證書(C)」,在「其它證書(可選)」中選擇「包括在以下PKCS #7 證書(.p7b)文件中的證書(P):」,並單擊「瀏覽(R)…」按鈕選擇evS1300.spc文件,選擇完後單擊「下一步(N)」按鈕
14、接下來在彈出的「數據描述」窗口中輸入公司的名稱和網址並單擊「下一步(N
15、現大部份工作都已完成,在接下來的一步當中是可選的操作,其作用只是為CAB加入時間戳,此步驟完全可以不做
16、完成,單擊「下一步(N)」按鈕便可來到數字簽名向導的最後一步,即操作總覽,單擊「完成」按鈕便可大功告成
『捌』 如何注冊ocx文件
注冊ocx文件的方法復: 1.安裝文件制,其實也就是把他復制粘貼到我們的系統文件中。 2.對於是32bit的系統。請把 comdlg32.ocx 移到 c:\Windows\system32 裡面 3.對於是 64bit的Win7/win8 系統, 要把comdlg32.ocx 移到 c:\Windows\SysWOW64 4.打開「運行」。輸入注冊命令。 對於32位的系統。在運行中直接輸入「regsvr32 c:\Windows\system32\comdlg32.ocx」; 對於64位的系統。在「運行」中直接輸入「regsvr32 c:\Windows\SysWOW64\comdlg32.ocx」; 5.或者用選擇打開的方法注冊,例如要注冊comdlg32.ocx, 右鍵單擊comdlg32.ocx選擇「打開方式」; 6.瀏覽找到regsvr32.exe點確定就可以完成注冊。
『玖』 如何注冊ocx文件
32位系統:
將文件放到c:windowssystem目錄
注冊運行:Regsvr32c:windowssystemxxx.ocx
取消注冊運行:Regsvr32.exe/uc:windowssystemxxx.ocx
64位系統注冊32位文件:
將文件放到內c:windowssysWOW64目錄
運行:Regsvr32.exec:windowssysWOW64xxx.ocx
同時按容下win(即窗口鍵)+R,調出運行對話框!在對話框中輸入
regsvr32[空格]要注冊的ocx文件
例如:regsvr32 SysTray.ocx
點擊確認按鈕即可注冊成功!