c#挪用vc寫的ocx控件示例。本站提示廣大學習愛好者:(c#挪用vc寫的ocx控件示例)文章只能為提供參考,不一定能成為您想要的結果。以下是c#挪用vc寫的ocx控件示例正文
在c#中如何挪用VC寫的OCX控件,重要有兩個症結環節
兩個症結環節:導入ocx控件,創立實例。
1 注冊ocx:
regsvr32.exe alasunsmscon.ocx
2 在CMD窗口中履行:
AxImp.exe alasunsmscon.ocx
生成兩個文件:alasun.dll,Axalasun.dll
3 在項目中援用Axalasun.dll
4 挪用
Axalasun.Axalasunsms sms = new Axalasun.Axalasunsms();
sms.CreateControl();
便可以應用了
這裡還有一個c#掌握台形式下挪用vc開辟的ocx組件的示例
1、注冊組件 regsvr32 C:\WINDOWS\system32\HX.ocx
2、用Aximp.exe對象對HX.ocx做轉換,對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
{
//設置靜態變量
static AXHH hh;
[STAThread]
static void Main(string[] args)
{
//初始化ocx控件
hh = new AXHH();
//顯式挪用該實例的CreateControl()辦法能力挪用其他辦法不然在挪用時體系將報AxHost.InvalidActiveXStateException異常
hh.CreateControl();
//挪用控件屬性及辦法
hh.ip="127.0.0.1";
hh.test();
}
}
4、留意,假如是多線程挪用,則在 線程名.Start() 前加上,例如:
線程名.SetApartmentState(System.Threading.ApartmentState.STA);//設置形式,必需在啟動之前設置。
// 啟動線程將挪用 ThreadStart 拜托。
線程名.Start();