1
매번 .dll 파일을 열고 호출하는 것보다 나은 방법이 있습니까?AutoIt DLL 미리로드가 가능합니까?
는 AutoHotkey를 .dll 파일을 프리로드 할 수있다. AutoIt (성능을 절약하기 위해)에서도 이것을 사용할 수 있습니까?
매번 .dll 파일을 열고 호출하는 것보다 나은 방법이 있습니까?AutoIt DLL 미리로드가 가능합니까?
는 AutoHotkey를 .dll 파일을 프리로드 할 수있다. AutoIt (성능을 절약하기 위해)에서도 이것을 사용할 수 있습니까?
매번 .dll 파일을 열고 호출하는 것보다 나은 방법이 있습니까?
(모든 함수 호출과 달리) .dll 파일을 한 번로드하고 닫습니다. 예 (테스트 안 함) :
Global Const $g_sFileDll = 'MyFirstDll.dll'
Global Const $g_sErrorDllLoad = 'Failed to load .dll file.' & @LF
Global Const $g_sErrorDllCall = 'Failed to call .dll file.' & @LF
Global Const $g_iCountDllCall = 10
Global Const $g_iDelayDllCall = 1000
Global $g_hDLL = DllOpen($g_sFileDll)
If $g_hDLL = -1 Then
ConsoleWrite($g_sErrorDllLoad)
Exit
EndIf
For $i1 = 1 To $g_iCountDllCall
getLife($g_hDLL)
Sleep($g_iDelayDllCall)
Next
DllClose($g_hDLL)
Exit
Func getLife(ByRef $hDLL)
Local $aResult = DllCall($hDLL, "int:cdecl", "getLife")
If @error Then
ConsoleWrite($g_sErrorDllCall)
Else
ConsoleWrite('Result: ' & $aResult[0] & @LF)
EndIf
EndFunc
해당 질문에 답하십시오. 난 왼쪽 범위 후에 DLLClose() 함수를 닫습니다 의미합니다. 그건 사실이 아니야. 그것만이 종료합니다. – Staubi