Почему я получаю -3 на AutoHotKey DllCall?

397
SaintWacko

Я пытаюсь использовать EHLLAPI от IBM для взаимодействия с их эмулятором терминала Personal Communicator. Я указываю на местоположение API и указываю имя API как таковое:

hllapi(ByRef functionCode, ByRef data, ByRef length, ByRef returnCode) { dllfunction := "C:\EHLAPI32.dll\HLLAPI" datatype := "Int *" rvalue := DllCall(dllfunction, datatype, functionCode, "Str", data, datatype, length, datatype, returnCode) If ErrorLevel MsgBox hllapi() returned %ErrorLevel% Return rvalue } 

Тем не менее, он просто возвращает -3, указывая:

-3: Указанный файл DllFile недоступен. Если для DllFile не был указан явный путь, файл должен существовать в системной переменной PATH или A_WorkingDir. Эта ошибка также может возникнуть, если у пользователя нет прав доступа к файлу.

Я проверил разрешения, и там не должно быть никаких проблем. Я также попытался скопировать dll в корень моего диска C: /, чтобы избежать каких-либо проблем с доступом, и это тоже не помогло. Почему он не может найти файл?

0

1 ответ на вопрос

1
SaintWacko

Я наконец обнаружил проблему. Я использую 64-битный AutoHotkey, и DLL я пытаюсь использовать 32-битный. Как только я перешел на 32-битный AutoHotkey, он смог найти DLL без проблем.

Похожие вопросы