我用这个命令加载一个dll
HINSTANCE DllEconovent = LoadLibrary(_T("Econovent.dll"));
我想从磁盘加载dll的路径......在这个假的情况下
C:\TFS_FWG\Acon\Oem\bin\Econovent.20140130_3200\Econovent64\Econovent.dll
只需在消息框中显示
即可MessageBox(_T("No valid ProcAddress"), _T("Error"), MB_ICONINFORMATION);
这是如何以最好的方式完成的?
答案 0 :(得分:3)
查看GetModuleFileName
:此函数“检索包含指定模块的文件的完全限定路径。”
DWORD WINAPI GetModuleFileName(
_In_opt_ HMODULE hModule,
_Out_ LPTSTR lpFilename,
_In_ DWORD nSize
);
它应该包含你的HINSTANCE
对象并返回一个文件名。
int main()
{
HINSTANCE test = LoadLibrary("test.dll");
char buffer[MAX_PATH];
GetModuleFileName(test, buffer, MAX_PATH);
std::cout << buffer << std::endl;
return 0;
}
将其修改为MessageBox
,只需删除std::cout
行并输入
MessageBox(buffer, _T("Error"), MB_ICONINFORMATION);