微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用VB.Net自动执行Microfocus Rumba

如何解决如何使用VB.Net自动执行Microfocus Rumba

我正在尝试通过VB.Net自动化Microfocus Rumba应用程序。由于某些限制,我无法使用Rumba内置的任何宏/脚本功能

我知道ehlapi32.dll可用于使Rumba自动化,但我无法添加ehlapi32.dll或WHLLAPI.dll作为.Net解决方案的引用。

由于错误“无法创建Activex组件”,我无法创建“ Microfocus.Rumba” /“ Rumba.System” /“ Rumba.Application”的对象。我试图通过使用RegAsm.exe注册dll来解决它。但是它说Dll不是有效的.net程序集。

我已附上错误快照。

Error while adding the dlls in References section of the .Net solution

Cannot create ActiveX component error

Not a valid .Net assembly error

注意:我正在使用MicroFocus Rumba Desktop 9.4.1

任何指导深表感谢。

谢谢。

解决方法

WHLLAPI.DLL和EHLAPI32.dll不是ActiveX com组件(因此,您不能向regsvr32注册它,也不能通过向regasm注册它来为其创建com互操作),并且它也不是.net程序集(因此您不能简单地添加对其的引用)。这只是一个“老式”的呼叫库。您需要先声明它,然后才能调用它(通过P / Invoke,这是技术性的)。

类似的东西(最简单的版本):

Declare Sub hllapi Lib "EHLAPI32.dll" (lpwFunction As Int32,ByVal lpbyString As String,lpwLength As Int32,lpwReturnCode As Int32)

然后命名

Dim status as Int32
Call hllapi(1,"A",1,status)    ' Connect to Presentation Space A

您需要参考HLLAPI文档,该文档的多个版本/实例可在线获得,并带有示例(并且在大多数供应商中都是标准的)。一个是https://docs.attachmate.com/extra/x-treme/apis/ehllapi.pdf

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。