在 C++ 中打开一个 dll(获取句柄)
Posted
技术标签:
【中文标题】在 C++ 中打开一个 dll(获取句柄)【英文标题】:Open a dll (get handle) in c++ 【发布时间】:2017-09-12 08:45:24 【问题描述】:我正在寻找在 c++、visual studio 中加载 dll 库。
当我这样做时,我得到错误代码 193,这是: ERROR_BAD_EXE_FORMAT 193 (0xC1) %1 不是有效的 Win32 应用程序。
代码如下
using namespace std;
int main()
HINSTANCE dllhandle =
LoadLibrary(L"C:\\LKG5000_DLL_ver1_10\\English\\64bit\\LKIF2.dll");
cout << dllhandle << endl;
if (dllhandle != 0)
cout << "Created Handle" << endl;
else
cout << ":(" << endl;
cout << GetLastError() << endl;
getchar(); //Lazy way to keep cmd window open
return 0;
有什么建议吗?谢谢
【问题讨论】:
查看 dll 的路径,看起来它是一个 64 位的 dll,但您的可执行文件可能是 32 位的。您的可执行文件也应该是 64 位的,因为 32 位应用程序无法加载 64 位 dll 【参考方案1】:鉴于 DLL 路径,它看起来像是一个 64 位 (WIN64) DLL。
确保尝试加载该 DLL 的程序也针对 64 位目标进行了编译。 您无法在 32 位应用程序中加载 64 位 DLL 或其他方式。
阅读here了解更多详情。
【讨论】:
帮助很大 - 谢谢!以上是关于在 C++ 中打开一个 dll(获取句柄)的主要内容,如果未能解决你的问题,请参考以下文章