Eu finalmente descobri o problema. Estou usando o AutoHotkey de 64 bits e a dll que estou tentando usar é de 32 bits. Depois que mudei para o AutoHotkey de 32 bits, ele conseguiu encontrar a dll sem problemas.
Estou tentando usar o EHLLAPI da IBM para fazer interface com o emulador de terminal do Personal Communicator. Eu aponto para o local da API e especifique o nome da API como tal:
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
}
No entanto, apenas retorna -3, indicando:
-3: The specified DllFile could not be accessed. If no explicit path was specified for DllFile, the file must exist in the system's PATH or A_WorkingDir. This error might also occur if the user lacks permission to access the file.
Eu verifiquei as permissões e não deve haver problemas. Eu também tentei copiar a dll para a raiz do meu C: / drive para evitar quaisquer problemas de acesso, e que não consertar isso também. Por que não consegue encontrar o arquivo?
Eu finalmente descobri o problema. Estou usando o AutoHotkey de 64 bits e a dll que estou tentando usar é de 32 bits. Depois que mudei para o AutoHotkey de 32 bits, ele conseguiu encontrar a dll sem problemas.