我想要做的是将DLLname放在DLLnameHERE.dll所在的位置.
这是我的一段代码:
int ToLoadLibrary(char * DLLname)
{
HINSTANCE hinstLib;
MYPROC ProcAdd;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
// Get a handle to our DLL module created in the previous example. Make sure you already copied the mydllpro.lib and mydllpro.dll to the appropriate folders...
hinstLib = LoadLibrary(L"DLLnameHERE.dll");
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您遇到的问题是Microsoft特定的问题.宏LoadLibrary根据预处理器宏扩展到接受a char const*或a 的函数的名称wchar_t const *.在你的情况下,电话
hinstLib = LoadLibrary(L"DLLnameHERE.dll");
Run Code Online (Sandbox Code Playgroud)
表明后者就是这种情况.
解决这个问题的最简单方法是使用char const *直接接受的函数的名称; 它是LoadLibraryA:
hinstLib = LoadLibraryA(DLLname);
Run Code Online (Sandbox Code Playgroud)
该机构被更详细地描述在这里在MSDN.