动态库的问题,好奇怪 Delphi做的dll,使用在c++环境中,LoadLibrary调用成功,但GetProcAddress返回失败,为何? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LPFNDLLFUNC1 lpfnDllFunc1; dllhinst=LoadLibrary("ktr"); if (dllhinst!=NULL) { lpfnDllFunc1=(LPFNDLLFUNC1)GetProcAddress(dllhinst, "SetKbHook"); if (!lpfnDllFunc1) { FreeLibrary(dllhinst); error=TRUE; } else { lpfnDllFunc1(); } } 给你提议点建议,你失败的原因是,在C++中找不到改函数的标记地址符所至,我不知道DEPHI里有没有EXTERN之类的关键值,如果有在每一个函数前加上该关键值就没问题,下面是在C中的情况,DLL中的函数声明如下extern return_type Function(Parameter list...){....} 函数指针要定义为WINAPI*如函数指针要定义为WINAPI*如HINSTANCE m_hDll;void (WINAPI * m_pfnDllDemo)(char *ip,int port);BOOL CMyDll::LoadDll(){ CString path; m_hDll = AfxLoadLibrary("c:\\xxx.dll"); if(!m_hDll){ return FALSE; } m_pfnDllDemo = (void (WINAPI *)(char *ip,int port)) GetProcAddress(m_hDll ,"DllDemo"); return TRUE;} csting.format格式化, 宽字符 相关问题,急,在线等 Windows 2000的DDK能用于XP吗? 一个关于重绘的问题?进来看看啊 呵呵....竟然变两星了....发100分玩玩.... 我想找网上签名的东西,我做的一个ActiveX控件,没有证书,我不知道该怎么做?我怎么才能有证书呢? 哪家公司愿买下我的软件的专利权? VC开发OCX,给我点建议好吗? 关于控件通知消息 UTF-8编码 请大神指教,MFC程序单文档编程 请问:如何在程序中终止另一个应用程序? 工具栏上的按钮一点击按钮就不见了,等执行完了才又出来,又什么办法解决?
if (dllhinst!=NULL)
{
lpfnDllFunc1=(LPFNDLLFUNC1)GetProcAddress(dllhinst, "SetKbHook");
if (!lpfnDllFunc1)
{
FreeLibrary(dllhinst);
error=TRUE;
}
else
{
lpfnDllFunc1();
}
}
extern return_type Function(Parameter list...)
{
....
}
WINAPI*如
函数指针要定义为
WINAPI*如
HINSTANCE m_hDll;void (WINAPI * m_pfnDllDemo)(char *ip,int port);BOOL CMyDll::LoadDll()
{
CString path;
m_hDll = AfxLoadLibrary("c:\\xxx.dll");
if(!m_hDll){
return FALSE;
}
m_pfnDllDemo = (void (WINAPI *)(char *ip,int port)) GetProcAddress(m_hDll ,"DllDemo");
return TRUE;
}