公司需要开发开发C#的WPF桌面应用程序演示软件,该软件调用高拍仪设备使用的的两个x86版本的OCX组件用于显示和控制高拍仪设备。

一、开发环境:

操作系统:
Windows 10 企业版操作系统

开发工具:
Microsoft Visual Studio Community 2019

开发工具配置C#、C++桌面应用程序开发环境。

二、将OCX组件生成WPF可以使用的ActiveX控件*
1、先注册 OCX 控件;(有的把 OCX 控件封装到 EXE 文件中,安装即可;
EloamThumbnail.ocx
EloamView.ocx

注册控件:脚本文件 “反注册控件.bat”
cd /d %~dp0
RegSvr32 .\EloamView.ocx
RegSvr32 .\EloamThumbnail.ocx

反注册控件:脚本文件 “双击注册.bat”
RegSvr32 /u .\EloamView.ocx
RegSvr32 /u .\EloamThumbnail.ocx

注意:注册于反注册控件都需要使用管理员身份运行。

2、打开 vs,新建一个 C#语言的Windows窗体应用(.NET Framework)程序.

目标框架使用:.NET Framework 4.5

3、在左侧工具箱中添加OCX控件的 COM 组件。
在左侧的工具箱中选中“常规”选择项卡,点击鼠标右键,选择“选择项”菜单进入选择工具箱项界面。

选择COM组件栏目,点击右下角的浏览,选择要添加的OCX控件文件打开,可以看到控件已经被加载到工具箱并本选择。

点击确定添加这两个OCX控件到工具箱。

4、在工程应用窗体上添加两个控件,并修改好控件名称。


选中添加的控件,在右下角的属性窗口中修改控件名称,axEloamView1为axEloamView, 去掉开发工具自动添加的1,以免控件名称改变。

选中添加的控件,在右下角的属性窗口中修改控件名称,axEloamThumbnail1为axEloamThumbnai。

5、修改工程的Debug和Release的生成目标平台为x86。
在开发工具的菜单栏中修改Release的运行平台Any CPU为 x86。
在右侧解决方案资源管理器窗口,选中工程项目,点击鼠标右键,选择属性菜单。

选择“生成”,在目标平台选项中选择x86平台。 下面的输出路径会自动修改为项目的bin\x86\Releaase\,表示输出的生成文件是该目录下。

6、生成目标控件的ActiveX控件dll。
先在 开发工具选择“生成” =》 清理解决方案。来清理已经生成的旧文件。
后选择“生成” =》“重新生成解决方案”,生成目标文件。

三、在WPF窗体应用就使用该OCX组件的ActiveX控件
1. 在开发工具中创建WPF应用()工程


选择框架为.NET Framework 4.5 环境。

2. 将上面生成的4个ActiveX控件dll添加引用到工程项目
选中右侧工程项目中的“引用”,右键"添加引用",选择右下角的浏览,将生成的4个dll添加到WPF工程引用中。

3. 添加引用:System.Windows.Forms,WindowsFormsIntegration。
选中右侧工程项目中的“引用”,右键"添加引用",选择左侧的程序集,选中System.Window.Forms ,点击确定就添加好了System.Windows.Forms引用。

由于.NET Framework 4.5框架没有加载WindowsFormsIntegration,所以需要另外添加。
选中右侧工程项目中的“引用”,右键"添加引用",选择右下角的浏览按钮,按照如下路径选择文件添加:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\WindowsFormsIntegration.dll

4. .编辑布局界面

也可用使用代码添加控件的方式,但是使用中发现当添加两个OCX控件后,运行时会出现一个控件窗体显示在新窗体中,不在当前布局窗体。

5. .添加控制代码

6… 修改运行平台x86

7… 生成解决方案

8. 将依赖的dll添加到运行目录

9.运行工程

四、错误和注意事项

1.可执行程序依赖的dll调用失败:

原因:调用的dll没有成功引用到,需要将第三项的第8步拷贝两个dll到工程运行目录。

在C#开发WPF桌面应用程序调用OCX控件相关推荐

  1. C#桌面应用程序调用Ocx控件

    C#桌面应用程序调用Ocx控件 1.创建C#桌面应用程序项目 2.选择.NET Framework桌面应用程序 3.配置项目名称,路径和框架等 4.创建成功 5.在工具箱选项卡中选中常规选项,右键显示 ...

  2. Javascript调用OCX控件

    什么是ocx控件? 对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序. 想知道究竟的可以看看这个帖子. http://www.tososo ...

  3. C#中调用OCX控件

    调用OCX控件的步骤: 1.在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册) 2.在.net的工具箱中添加该控件,拖到form中去就可以了. 不用工具箱的 ...

  4. java jni ocx_Java调用ocx控件以及dll

    [ 通过Java调用OCX控件有几种方法,JNI.JACOB.Jawin等 1.JNI 最直接的方式,也是最麻烦的方式,需要自己完成所有的工作,不推荐. 2.Jawin 尝试了一下,效果不错,但相 通 ...

  5. 使用C#在Visual studio 2012调用OCX控件

    使用C#在Visual studio 2012调用OCX控件 筒子们好! 下面以VS2012集成开发环境下的WinForm工程为例进行讲解. 打开VS2012 新建项目,选择其他语言里面的Visual ...

  6. java调用ocx控件(ActiveX控件),SWT调用ocx(ActiveX)

    java调用ocx控件(ActiveX控件),SWT调用ocx(ActiveX) 注 : OLE.OCX.ActiveX不进行过多阐述,简单理解就是插件,组件类 调用成功,即可展示ocx对应的窗口 ​ ...

  7. Java调用ocx控件以及dll

    2019独角兽企业重金招聘Python工程师标准>>> http://lvqingboy-163-com.iteye.com/blog/769358 通过Java调用OCX控件有几种 ...

  8. java ocx调用_Java调用ocx控件以及dll

    下载jacob包 这个包中有jacob-1.17-M2-x64.dll和jacob-1.17-M2-x86.dll两个dll和jacob.jar一个jar包,两个dll一个是64位一个是32位,这个对 ...

  9. 【QT】Qt调用OCX控件详解

    OCX控件的注册 首先,调用ocx控件需要保证ocx本身是已经注册了的.如果没有注册请先按"Win+R"输入"cmd"打开命令窗口.然后输入regsvr32 + ...

最新文章

  1. jsp 使用base标签 没有作用_终于弄明白衣服上,使用前请移除的标签到底是什么,起什么作用...
  2. 《深入理解java虚拟机》学习笔记四/垃圾收集器GC学习/一
  3. 千兆网卡为什么慢_千兆宽带普及率不到1% 消费者为何不愿意用千兆宽带?
  4. QT项目添加现有文件后不能运行,MFC在类视图中自动隐藏类
  5. python json.loads()中文问题-python中文编码json中文输出问题
  6. 交叉熵损失函数分类_交叉熵损失函数
  7. 我用 PyTorch 复现了 LeNet-5 神经网络(CIFAR10 数据集篇)!
  8. 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】1
  9. AOJ 558 Cheese(bfs)
  10. Windows服务编写综述
  11. Jupyter notebook绘制热力图边缘只有一半的问题
  12. ubuntu 上 安装php5.4
  13. 启动失败_启动失败了?
  14. Audio播放流程(二)---NuPlayer流程之setDataSource
  15. docker 安装 oracle
  16. Python之猜数字游戏
  17. 机器人工程毕业设计☞开题报告
  18. 游戏圈子--创业股份没拿到,你该怨谁?
  19. 20以内的加减法辅导
  20. PLG软件的运行环境设置

热门文章

  1. t43 风扇问题解决方案
  2. php云人才系统 怎么整合ucenter,phpcms如何整合UCenter
  3. 网络基础12--工程师向
  4. frp实现内网穿透极简教程
  5. 【Hive】sort by、order by、 distribute by、 group by 、cluster by区别
  6. (一)Open Stack(M)----基础环境搭建
  7. 【软件工程总复习】第三章 需求分析(结构化分析)(数据分析)
  8. Gdut Count
  9. 用百度富文本编辑器UMeditor实现对html文本的编辑功能,vue中使用UMeditor编辑器
  10. macOS中比较好用的压缩软件:FastZip