LPCSTR dllPath = ExePath().append("\\").append(DEF_INJECT_DLL).c_str();
DWORD dwBufSize = (DWORD)(strlen(dllPath) + 1) * sizeof(LPCSTR);
/* test */
char tbuf[1024]= {0,};
sprintf_s(tbuf, "dllPath : %s\r\ndwBufSize : %d", dllPath, dwBufSize);
MessageBoxA(NULL, tbuf, "TEST", MB_OK);
注入我的dll的部分代码。
ExePath()
是使用API 等获取数据类型AbsolutePath
的函数。std::string
GetModuleFileNameA
DEF_INJECT_DLL
定义为#define "MyDll.dll"
但是当我运行这段代码时,它显示了断线......
而且,当我将其更改MessageBoxA
为:
MessageBoxA(NULL,
ExePath().append("\\").append(DEF_INJECT_DLL).c_str(),
"TEST",
MB_OK);
它显示正确?
另外,我尝试过这种方式:
MessageBoxA(NULL,dllPath, "TEST", MB_OK);
但它向我展示了第一个屏幕截图。
问题是什么?