c#调用vc写的ocx控件示例

时间:2021-09-26 19:34:00 

在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();

标签:c#,ocx控件
0
投稿

猜你喜欢

  • XRecyclerView实现下拉刷新、滚动到底部加载更多等功能

    2023-11-07 06:40:55
  • 最优雅地整合 Spring & Spring MVC & MyBatis 搭建 Java 企业级应用(附源码)

    2023-09-26 18:27:57
  • C#实现的算24点游戏算法实例分析

    2021-12-01 04:13:21
  • Java中的传值与传引用实现过程解析

    2023-02-21 12:59:41
  • C#对Json进行序列化和反序列化

    2023-04-16 09:06:15
  • 老生常谈Scanner的基本用法

    2021-08-27 00:34:18
  • C#使用itextsharp生成PDF文件的实现代码

    2022-05-18 03:21:27
  • Java数据封装树形结构代码实例

    2022-04-12 08:11:44
  • springboot集成mybatisPlus+多数据源的实现示例

    2023-11-24 22:35:02
  • C#表达式中的动态查询详解【译】

    2021-07-29 05:19:42
  • java集合Collection实现类解析ArrayList LinkedList及Vector

    2022-05-01 05:44:12
  • SpringBoot使用Jackson配置全局时间日期格式

    2021-10-04 12:45:06
  • Java Servlet简单实例分享(文件上传下载demo)

    2022-03-03 06:35:04
  • JavaWeb通过IDEA配置Servlet操作流程详解

    2023-10-09 09:26:23
  • Android自定义ViewGroup实现淘宝商品详情页

    2022-10-28 00:13:01
  • Android TimePicker 直接输入的问题解决方案

    2023-08-03 03:11:55
  • 一文带你了解C#中的协变与逆变

    2022-08-06 22:31:21
  • C语言单向链表的表示与实现实例详解

    2022-01-24 21:38:33
  • Android studio将Module打包成Jar的方法

    2021-12-15 20:59:21
  • java判断用户输入的是否至少含有N位小数的实例

    2021-06-01 02:56:42
  • asp之家 软件编程 m.aspxhome.com