我想知道如何使用 NSIS 从 C++ 可执行文件调用函数
I wanted to know how to call a function from C++ executable using NSIS
我想知道如何使用 NSIS 从 C++ 可执行文件调用函数。
我正在使用下面的方法,但它没有调用函数。
!include LogicLib.nsh
Section
SetOutPath $INSTDIR
File E:\TestNullSoft\Test1.exe
File E:\TestNullSoft\Test2.dll
System::Call 'KERNEL32::AddDllDirectory(w "$INSTDIR")'
Pop ;
${If} [=10=] = 0
MessageBox MB_OK "Function is NOT CALLED" IDOK
${EndIf}
SectionEnd
AddDllDirectory 函数在 C++ 项目中的声明如下所示:
您不能调用 .EXE 文件中的函数,只能调用 .DLL 文件。
具体来说,System::Call
将调用 LoadLibrary
和 GetProcAddress
,并且 LoadLibrary
无法加载 .EXE。
我想知道如何使用 NSIS 从 C++ 可执行文件调用函数。
我正在使用下面的方法,但它没有调用函数。
!include LogicLib.nsh
Section
SetOutPath $INSTDIR
File E:\TestNullSoft\Test1.exe
File E:\TestNullSoft\Test2.dll
System::Call 'KERNEL32::AddDllDirectory(w "$INSTDIR")'
Pop ;
${If} [=10=] = 0
MessageBox MB_OK "Function is NOT CALLED" IDOK
${EndIf}
SectionEnd
AddDllDirectory 函数在 C++ 项目中的声明如下所示:
您不能调用 .EXE 文件中的函数,只能调用 .DLL 文件。
具体来说,System::Call
将调用 LoadLibrary
和 GetProcAddress
,并且 LoadLibrary
无法加载 .EXE。