環境:vs2010,winform:
以vc下的dsoframer.ocx為例
1. 首先用aximp.exe將activex 控制項的 com 型別庫中的型別定義轉換為 windows 窗體控制項,這樣才能在winform中使用。
aximp.exe路徑:\program files\microsoft sdks\windows\v7.0a\bin\
aximp.exe能夠把乙個vc dll轉換成兩個.net dll,在c#專案中引用ax開頭那個。
注意:.net dll應具有強名稱,所以要準備兩個金鑰檔案,供aximp.exe給生成的dll簽名用。
簽名工具:sn.exe
sn.exe路徑:\program files\microsoft sdks\windows\v7.0a\bin
cmd中執行:sn -k d:\key1.snk
sn -k d:\key2.snk
aximp d:\dsoframer.ocx /keyfile:d:\key1.snk d:\key2.snk
生成了dsoframer.dll 和axdsoframer.dll,c#專案中新增對axdsoframer.dll的引用。(兩個dll檔案都需要,要放在一起)
2.註冊dll
三個dll:dsoframer.ocx 、dsoframer.dll 和axdsoframer.dll都需要註冊。
dsoframer.ocx 用regsvr32.exe註冊,dsoframer.dll 和axdsoframer.dll用.net 下的regasm.exe進行註冊,並用gacutil.exe將其新增進全域性程式集緩衝。
gacutil.exe位置:\program files\microsoft sdks\windows\v7.0a\bin\netfx 4.0 tools\
regasm.exe位置:\windows\microsoft.net\framework\v2.0.50727\
注意:
1.註冊用的gacutil和regasm的版本要和你專案的執行庫版本一致。比如你設定了專案的執行庫為.net 2,那麼你就要找主版本號為2的gacutil和regasm。
2.在64位windows上,你要把三個dll全放進syswow64,並使用這個資料夾裡的cmd.exe進行註冊。
註冊**
regsvr32 /s \dsoframer.ocx
gacutil /i dsoframer.dll
regasm dsoframer.dll
gacutil /i axdsoframer.dll
regasm axdsoframer.dll
C 中使用visio控制項
2012 08 25 18 14 19 分類 技術相關 舉報 字型大小訂閱 然後就建立乙個c 專案。在工具箱上點右鍵,選擇 選擇項 在開啟的對話方塊中選擇 com控制項 在其中找到visio 12.0 drawing control。然後該控制就被新增到工具箱。還需要引用型別庫否?貌似是不需要。在c...
C 中使用NPOI控制項匯出EXCEL
npoi是指構建在poi 3.x版本之上的乙個程式,npoi可以在沒有安裝office的情況下對word或excel文件進行讀寫操作。將dataset匯出excel public static void getexcelbydataset dataset ds,string file 資料 for ...
duilib中使用MFC控制項
這裡示例將mfc按鈕放到duilib滑塊條控制項的位置 1 準備好乙個duilib控制項來容納mfc控制項,如下 將帶控制代碼hwnd的控制項顯示到ccontrolui上面 class cwndui public ccontrolui virtual void setinternvisible bo...