c#調(diào)用vc寫的ocx控件示例
在c#中怎樣調(diào)用VC寫的OCX控件,主要有兩個關鍵環(huán)節(jié)
兩個關鍵環(huán)節(jié):導入ocx控件,創(chuàng)建實例。
1 注冊ocx:
regsvr32.exe alasunsmscon.ocx
2 在CMD窗口中執(zhí)行:
AxImp.exe alasunsmscon.ocx
生成兩個文件:alasun.dll,Axalasun.dll
3 在項目中引用Axalasun.dll
4 調(diào)用
Axalasun.Axalasunsms sms = new Axalasun.Axalasunsms();
sms.CreateControl();
就可以使用了
這里還有一個c#控制臺模式下調(diào)用vc開發(fā)的ocx組件的示例
1、注冊組件 regsvr32 C:\WINDOWS\system32\HX.ocx
2、用Aximp.exe工具對HX.ocx做轉(zhuǎn)換,對APT.ocx再次封裝成兩個類庫(HX.dll,AxHX.dll)
3、代碼
using System;
using System.Data;
using System.IO;
using System.Messaging;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Web;
using System.Data.SqlClient;
using AXHH;//ocx控件
using HH;//ocx控件
using System.Windows.Forms;
namespace Ocx_test
{
public class Program
{
//設置靜態(tài)變量
static AXHH hh;
[STAThread]
static void Main(string[] args)
{
//初始化ocx控件
hh = new AXHH();
//顯式調(diào)用該實例的CreateControl()方法才能調(diào)用其他方法否則在調(diào)用時系統(tǒng)將報AxHost.InvalidActiveXStateException異常
hh.CreateControl();
//調(diào)用控件屬性及方法
hh.ip="127.0.0.1";
hh.test();
}
}
4、注意,如果是多線程調(diào)用,則在 線程名.Start() 前加上,例如:
線程名.SetApartmentState(System.Threading.ApartmentState.STA);//設置模式,必須在啟動之前設置。
// 啟動線程將調(diào)用 ThreadStart 委托。
線程名.Start();
相關文章
C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法示例
這篇文章主要介紹了C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法,結合實例形式分析了FileStream文件流的形式循環(huán)讀取大文件的相關操作技巧,需要的朋友可以參考下2017-05-05C#正則表達式分解和轉(zhuǎn)換IP地址實例(C#正則表達式大全 c#正則表達式語法)
這是我發(fā)了不少時間整理的C#的正則表達式,新手朋友注意一定要手冊一下哦,這樣可以節(jié)省很多寫代碼的時間。下面進行了簡單總結2013-12-12