通过进程外com组件实现win764位程序调用32位库 附加dem

番茄系统家园 · 2021-08-12 22:57:17

通过进程外com组件实现win764位程序调用32位库 附加dem

背景:客户有个功能需要添加到软件中,但软件是64位,客户只能提供32位库。

环境:电脑系统为位,编译环境为

实现方式:使用进程外Com组件实现。

前言:Com组件有三种模式:进程内组件(dll)、进程外组件(exe)、远程组件()。因为32位和64位程序不兼容,进程内组件无法实现;32位库可以在本地调用,所以没有必要选择;

原理:64位和32位程序不能在同一进程中兼容,所以创建一个32位进程外Com组件,在该组件中加载32库,并创建接口封装32库里的功能,最后通过输入输出参数实现数据交互,64位程序通过调用进程外组件的接口实现调用32库的功能。64位程序和组件分别在不同的进程,所以需要代理/存根Dll进行接口参数的转换传输管理。

主要步骤:实现进程外Com组件调用共有如下4个步骤:

(1)创建进程外Com组件

(2)创建代理/存根()DLL

(3)注册组件和代理/存根

(4)调用组件接口

注意:因为权限问题,下列项目最好用管理员权限打开,并且将属性中的UAC执行级别修改为

实现进程外Com组件调用详细步骤如下:

一、创建进程外Com组件

创建方式:通过ATL项目创建

步骤如下:

1、创建ATL项目:创建项目;注意选择exe类型,支持代理/存根,如下图所示:

相关阅读

  • 32位程序可以调用64位的库吗?解决方法
  • 怎么在win7 Win7运行怎么打开 Win7没运行
  • 通过进程外com组件实现win764位程序调用32位库 附加dem
  • 免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/post/31013.html。
    猜你喜欢
    最新应用
    热门应用