Warum bekomme ich eine -3 bei einem AutoHotKey DllCall?

463
SaintWacko

Ich versuche, die EHLLAPI von IBM für die Schnittstelle zu ihrem Personal Communicator-Terminalemulator zu verwenden. Ich zeige es auf den Ort der API und gebe den Namen der API als solchen an:

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 } 

Es gibt jedoch nur -3 zurück und zeigt an:

-3: Auf die angegebene DllFile konnte nicht zugegriffen werden. Wenn für DllFile kein expliziter Pfad angegeben wurde, muss die Datei im PATH oder A_WorkingDir des Systems vorhanden sein. Dieser Fehler kann auch auftreten, wenn dem Benutzer die Berechtigung zum Zugriff auf die Datei fehlt.

Ich habe die Berechtigungen geprüft, und es sollte keine Probleme geben. Ich habe auch versucht, die DLL in das Stammverzeichnis meines Laufwerks C: / zu kopieren, um Zugriffsprobleme zu vermeiden, und das hat sie auch nicht behoben. Warum kann die Datei nicht gefunden werden?

0

1 Antwort auf die Frage

1
SaintWacko

Endlich habe ich das Problem entdeckt. Ich verwende 64-Bit-AutoHotkey, und die DLL, die ich verwenden möchte, ist 32-Bit. Nachdem ich auf 32-Bit AutoHotkey umgestellt hatte, konnte die DLL ohne Probleme gefunden werden.