欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#調(diào)用vc寫(xiě)的ocx控件示例

 更新時(shí)間:2014年04月03日 11:41:25   作者:  
這篇文章主要介紹了c#調(diào)用vc寫(xiě)的ocx控件示例,需要的朋友可以參考下

在c#中怎樣調(diào)用VC寫(xiě)的OCX控件,主要有兩個(gè)關(guān)鍵環(huán)節(jié)

兩個(gè)關(guān)鍵環(huán)節(jié):導(dǎo)入ocx控件,創(chuàng)建實(shí)例。

1 注冊(cè)ocx:

復(fù)制代碼 代碼如下:

regsvr32.exe alasunsmscon.ocx

2 在CMD窗口中執(zhí)行:

復(fù)制代碼 代碼如下:

AxImp.exe alasunsmscon.ocx

生成兩個(gè)文件:alasun.dll,Axalasun.dll

3 在項(xiàng)目中引用Axalasun.dll

4 調(diào)用

復(fù)制代碼 代碼如下:

Axalasun.Axalasunsms sms = new Axalasun.Axalasunsms();
sms.CreateControl();

就可以使用了

這里還有一個(gè)c#控制臺(tái)模式下調(diào)用vc開(kāi)發(fā)的ocx組件的示例

1、注冊(cè)組件 regsvr32 C:\WINDOWS\system32\HX.ocx

2、用Aximp.exe工具對(duì)HX.ocx做轉(zhuǎn)換,對(duì)APT.ocx再次封裝成兩個(gè)類庫(kù)(HX.dll,AxHX.dll)

3、代碼

復(fù)制代碼 代碼如下:

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
    {
        //設(shè)置靜態(tài)變量
        static AXHH hh;
        [STAThread]
        static void Main(string[] args)
        {

            //初始化ocx控件
            hh = new AXHH();
            //顯式調(diào)用該實(shí)例的CreateControl()方法才能調(diào)用其他方法否則在調(diào)用時(shí)系統(tǒng)將報(bào)AxHost.InvalidActiveXStateException異常
            hh.CreateControl();

           //調(diào)用控件屬性及方法
            hh.ip="127.0.0.1";
           hh.test();

           }
}

4、注意,如果是多線程調(diào)用,則在  線程名.Start() 前加上,例如:

復(fù)制代碼 代碼如下:

線程名.SetApartmentState(System.Threading.ApartmentState.STA);//設(shè)置模式,必須在啟動(dòng)之前設(shè)置。
 // 啟動(dòng)線程將調(diào)用 ThreadStart 委托。
線程名.Start();

相關(guān)文章

最新評(píng)論