C++ LoadLibrary 不工作

标签 c++ string dll loadlibrary tchar

if (LoadLibrary(L"d:\\cwebpage.dll"))
       MessageBox(0, L"Loaded", L"ERROR", MB_OK);
else MessageBox(0, L"Error", L"ERROR", MB_OK);

不行,我试过了

if (LoadLibrary(_T("d:\\cwebpage.dll"))) //#include<tchar.h>  

if (LoadLibraryA("d:\\cwebpage.dll"))

if (LoadLibrary("d:\\cwebpage.dll")) //#undef UNICODE

没有任何效果

最佳答案

首先,确保 D:\cwebpage.dll是存在的。正如 Mike Vine 之前提到的,如果函数失败,返回值为 NULL。要获取扩展的错误信息,请调用 GetLastError .

if (LoadLibrary(L"d:\\cwebpage.dll"))
{
       DWORD nErrCode = GetLastError();
       MessageBox(0, L"Loaded", L"ERROR", MB_OK);
}
else MessageBox(0, L"Error", L"ERROR", MB_OK);

关于nErrCode的详细信息在页面“http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381(v=vs.85).aspx”中定义。

函数sprintf_sstdio.h 中定义,在您的文件中引用 sprintf_s , 添加行 #include <stdio.h> .

关于C++ LoadLibrary 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791173/

相关文章:

c++ - 我可以依靠TCHAR的定义对我使用的字符集做出正确的假设吗?

c++ - 在 C++ 中将长字符串输出到文件

c# - 构建 FFmpeg.NET .dll

c++ - C++ 中的装饰器设计模式

c++ - 在 C++ 中使用 posix pipe() 和 dup() 来重定向 I/O 问题

Java - 是否有任何方法可以混淆/隐藏字符串以防止反编译?

带/不带 malloc 的 C 字符指针

java - 如何在搜索特定名称时对行进行子字符串化?

c# - 从非托管 dll 文件调用托管 dll(注入(inject)正在运行的进程)

c# - 在 .dll 中嵌入 .dll - 在 C# 中解析程序集