WinMe, VC6.0在我的DLL中:
main.h:
#ifdef _cplusplus
#define EXPORT extern "C" _declspec(dllexport)
#else
#define EXPORT _declspec(dllexport)
#endif
EXPORT BOOL WINAPI CreateComm(HWND & hwnd);main.cpp:
EXPORT BOOL WINAPI CreateComm(HWND & hwnd)
{
........
}在我的调用文件中:
typedef BOOL (WINAPI * PCREATECOMM)(HWND &);
HINSTANCE hLibrary;
PCREATECOMM pCreateComm = NULL;
//POPENCOMM pOpenComm;
hLibrary = LoadLibrary(TEXT("Serial.dll"));
if (hLibrary == NULL)
{
::MessageBox(NULL, TEXT("Can't find Serial.dll"), TEXT("faint!"), MB_ICONINFORMATION | MB_OK);
return;
}
pCreateComm = (PCREATECOMM)::GetProcAddress(hLibrary, "CreateComm");
不知道为什么,能找到DLL,就是hLibrary有返回值.但是pCreateComm却总是找不到. 错误提示:没有找到指定的过程.
Thanks
main.h:
#ifdef _cplusplus
#define EXPORT extern "C" _declspec(dllexport)
#else
#define EXPORT _declspec(dllexport)
#endif
EXPORT BOOL WINAPI CreateComm(HWND & hwnd);main.cpp:
EXPORT BOOL WINAPI CreateComm(HWND & hwnd)
{
........
}在我的调用文件中:
typedef BOOL (WINAPI * PCREATECOMM)(HWND &);
HINSTANCE hLibrary;
PCREATECOMM pCreateComm = NULL;
//POPENCOMM pOpenComm;
hLibrary = LoadLibrary(TEXT("Serial.dll"));
if (hLibrary == NULL)
{
::MessageBox(NULL, TEXT("Can't find Serial.dll"), TEXT("faint!"), MB_ICONINFORMATION | MB_OK);
return;
}
pCreateComm = (PCREATECOMM)::GetProcAddress(hLibrary, "CreateComm");
不知道为什么,能找到DLL,就是hLibrary有返回值.但是pCreateComm却总是找不到. 错误提示:没有找到指定的过程.
Thanks
解决方案 »
- 请教 afxwin1.inl中ASSERT(afxCurrentResourceHandle != NULL);的问题
- MFC加载BMP图
- 如何调用对话框(SDK程序调用一个MFC的对话框)
- 弱弱的问一个问题:在Html中插入ActiveX,关闭浏览器时会提出内存出错
- 自己写了个gina,登陆系统后任务栏无法正常使用
- 多线程切换问题???
- 无法打开资源文件
- 新人没钱没技术,只能冷天雪地裸体跪求C++超菜鸟问题
- 求大神指导”如何做一个简单的c++的MFC对话框程序
- C++ OLE方式读取Excel (Range::Find如何使用)
- 求教:WriteFile怎么往标准输入输出中写字符?
- 在线:高分求解:如何用tapi拔号码“#3”类非标准号码????
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
//取得SetLayeredWindowAttributes函数指针
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,210,2);
FreeLibrary(hInst);
比较来看,你的LOAD过程应该没问题,所以难道问题是在。DLL中的定义问题?