Почему я получаю -3 на Автохоткей DllCall?

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

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

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

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

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

2
задан fixer1234
11.01.2023 17:44 Количество просмотров материала 2911
Распечатать страницу

1 ответ

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

1
отвечен SaintWacko 2023-01-13 01:32

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх