我需要为从“.dll”文件调用方法的客户端编写一个应用程序。“.dll”文件以前是从“.exe” GUI 手动执行的,但现在他们想要自动化该过程。
我从来没有使用过 .dll 文件,所以到目前为止我发现的所有内容都是一整天研究的结果,我还收到了一个关于这个工具的小文档:
该接口是一个 ActiveX DLL,它提供了两个函数(GetUnitInfo 和 SaveResult)。
目前我只想使用 RUNDLL32.exe 从 Winwdows 命令行运行“GetUnitInfo”方法。
这是“GetUnitInfo”方法的文档: GetUnitInfo 的接口如下:
Public Function GetUnitInfo( _
ByVal strRequest As String, _
ByRef strUnitInfo As String,
Optional ByVal strStationName As String = "") As Long
示例调用代码可以是:
Dim lRet As Long
Dim strXML as String
lRet = GetUnitInfo( _“<?xml version=""1.0"" ?><GetUnitInfo
xmlns=""urn:GetUnitInfo-schema"" SerialNumber=""BD3ZZTC8MA"" />", strXML)
所以我尝试使用一些虚拟参数运行此方法,因为如果参数不正确,该方法将返回错误。命令:
RUNDLL32.EXE FFTester.dll, GetUnitInfo test1, test2
但我收到此错误:
我使用“Dependency Walker”列出了 dll 文件中的函数:
但这就是所有功能,通常我希望还会列出“GetUnitInfo”。
有人可以帮忙吗?不强制使用 RUNDLL32。
稍后编辑:我想从用 JAVA 编写的工具中调用此 DLL,我尝试使用 JNA 但失败了,所以我想从命令行调用 dll 函数,因为如果这样我可以使用进程构建器来执行命令。