源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-05-14 09:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#调用vc写的ocx控件示例
在c#中怎样调用VC写的OCX控件,主要有两个关键环节 两个关键环节:导入ocx控件,创建实例。 1 注册ocx:
[u]复制代码[/u] 代码如下:
regsvr32.exe alasunsmscon.ocx
2 在CMD窗口中执行:
[u]复制代码[/u] 代码如下:
AxImp.exe alasunsmscon.ocx
生成两个文件:alasun.dll,Axalasun.dll 3 在项目中引用Axalasun.dll 4 调用
[u]复制代码[/u] 代码如下:
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、代码
[u]复制代码[/u] 代码如下:
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() 前加上,例如:
[u]复制代码[/u] 代码如下:
线程名.SetApartmentState(System.Threading.ApartmentState.STA);//设置模式,必须在启动之前设置。  // 启动线程将调用 ThreadStart 委托。 线程名.Start();
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部