LoadLibrary函数的参数为宽字符,有两种方式设置宽字符
1. 通过C自带的函数等
1.1 TEXT(“c:/test.dll”)
1.2 _T(“c:/test.dll”)
这两种方式都是在字符串上添加L,字符串不可使用变量替换
2. 通过窄字符串转换的方式
参考代码:
char *str = "c:/test.dll";
WCHAR wszClassName[256];
memset(wszClassName, 0, sizeof(wszClassName));
MultiByteToWideChar(CP_ACP, 0, str, strlen(str) + 1, wszClassName,sizeof(wszClassName) / sizeof(wszClassName[0]));
str 当前为窄字符串,通过上面的转换成为宽字符串,类型WCHAR,便可以直接作为LoadLibrary的参数了,比较灵活。
我当初是为了加载一个文件夹下的所有dll文件,所以我用的第2种这种方式