matlab调用第三方api_matlab与外部程序接口调用心得(原创)

本文介绍了在MATLAB中调用第三方API,特别是DLL和COM组件,进行软件授权加密机制的过程。作者通过实验发现,MATLAB的loadlibrary方法无法直接加载DLL文件,而使用actxcontrol方法加载基于COM的DLL动态链接库也遇到困难。作者分享了能够成功加载的COM控件列表,并提供了相关辅助工具的下载链接,为其他开发者提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

叔叔写的一个matlab程序,需要防copy软件授权加密机制(基本都运行在WINDOWS平台),找到了我让我帮忙解决。因为不了解matlab语言,我的第一个想法就是使用外部接口的策略来做这方面的软件授权验证工作(既把授权软件使用的加密算法集成到外部接口程序中也就是其他高级语言编写实现,以接口的形式来与matlab衔接),可在使用matlab与外部程序接口的时候发现matlab真的好糗(可能自己还没发现matlab的真谛吧,不过说回来matlab的图形效果真的很棒),以下是本人在使用matlab与外部程序接口加载调用时的详细心得:

1.matlab的loadlibrary方法 不能直接加载调用DLL文件(经过本人多次测试 笔者用delphi写的一个dll导出函数的动态链接库 不能被matlab调用)

2.笔者又再次使用delphi编写了一个基于Windows-COM的规范的DLL动态链接库文件,使用matlab的actxcontrol方法来加载调用,再次经过多次测试最终还是以失败告终,但本人发现个问题运用RegDllView.exe、oleview.exe两款工具参看本机的dll注册列表信息发现一个奇怪的问题.

RegDllView.exe中"控件"列的为"是"的一些DLL控件是可以使用matlab的actxcontrol方法加载调用成功(并使用methodsview方法可以查看到该控件的详细类、方法、参数等详细信息)

以下为笔者机器中经过测试后 可以使用matlab的actxcontrol方法加载调用的控件名

%MPS.StormPlayer.1

%MediaLib.PlaylistCtrl.1

%VisOcx.DrawingControl.1

%VisioModelingEngine.VisioModelingEngine.3

%AliIMX.WangWangX.1

%POWERPLAYER.PowerPlayerCtrl.1

%Aliedit.EditCtrl.1

希望本文对 在使用matlab与外部程序接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值