Мне нужно написать приложение для клиента, которое вызывает метод из файла .dll.Файл «.dll» ранее выполнялся вручную из графического интерфейса «.exe», но теперь они хотят автоматизировать процесс.
Я никогда не работал с файлами .dll, поэтому все, что я нашел до сих пор, является результатомполный день исследований, я также получил небольшую документацию с этим инструментом:
Интерфейс представляет собой ActiveX DLL, которая предоставляет две функции (GetUnitInfo и SaveResult).
Сейчас я просто хочу запустить метод «GetUnitInfo» из командной строки Winwdows, используя RUNDLL32.exe.
Это документация для метода «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
Но я получаю эту ошибку:
Я использовал «Ходок зависимости», чтобы перечислить функции изфайл dll:
Но это все функции, обычно я ожидал, что в списке также присутствует "GetUnitInfo".
Может кто-нибудь помочь?Не обязательно использовать RUNDLL32.
Позже редактировать: я хочу вызвать эту DLL из инструмента, написанного на JAVA, я пытался использовать JNA, но мне не удалось, поэтому я думал о вызове функций dll изкомандной строки, потому что, если это работает, я могу использовать построитель процессов для выполнения команды.