我正试图通过VB.Net自动化Microfocus Rumba应用程序。由于一些限制,我无法使用Rumba中内置的任何宏/脚本功能。
我知道ehlapi32.dll可以用于自动化Rumba,但我无法添加ehlapi32.dll或WHLLAPI.dll作为对.Net解决方案的引用。
我无法创建";Microfocus.Rumba"/"Rumba系统"/"Rumba应用";由于错误";无法创建Activex组件";。我试图通过使用RegAsm.exe注册dll来解决这个问题。但它说dll不是有效的.net程序集。
我已附上错误快照。
在.Net解决方案的"引用"部分添加dll时出错
无法创建ActiveX组件错误
不是有效的.Net程序集错误
注意:我使用的是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