Я наконец обнаружил проблему. Я использую 64-битный AutoHotkey, и DLL я пытаюсь использовать 32-битный. Как только я перешел на 32-битный AutoHotkey, он смог найти DLL без проблем.
Почему я получаю -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: /, чтобы избежать каких-либо проблем с доступом, и это тоже не помогло. Почему он не может найти файл?
1 ответ на вопрос
1
SaintWacko
Похожие вопросы
-
2
AutoHotkey: проблема с назначением CAPS LOCK для ALT-TAB
-
2
Что такое <x>.dll используется для? </x>
-
5
Пожалуйста, объясните основные понятия файла DLL и его регистрации в Windows
-
-
2
Альтернативы AutoHotKey, который работает с Synergy?
-
6
Эквивалент AutoHotKey на Mac
-
3
Как IE регистрирует элементы управления ActiveX?
-
4
AutoHotkey: как назначить команду клавише «Calc»?
-
4
AutoHotkey: как отправить содержимое буфера обмена при нажатии клавиш?
-
2
Почему этот скрипт AutoHotkey не работает?
-
2
AutoHotKey и VirtuaWin переключение окон