我将lua包添加到我的c ++项目中,但是任何时候lua都包含在我的项目中,当我的DLL被连接时,没有函数被调用,但是当我不包含lua时,消息框出现在附件上。我确定它不是注射程序,因为我测试了我的DLL与多个程序,它现在让我发疯。有没有人在正确的道路上有任何解决方案或步骤?我真的很感激!
使用的包装:https://bitbucket.org/sgrottel_nuget/lua/overview
编辑:包括lua标头将从我的DLL中删除功能。删除lua标题(注释掉“#include”lua.hpp“)会弹出消息框。我使用的是lua包错误还是我错过了一小步?
#include "FVM.h" // includes lua headers etc. (when removed function works on attachment)
// Entry point
BOOL APIENTRY DllMain(HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
MessageBoxA(NULL, "attached", "Function", MB_OK);
case DLL_THREAD_ATTACH:
MessageBoxA(NULL, "attached", "Function", MB_OK);
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}